小编在上家公司做的Docker开发,记录了一些笔记,这里分享一下,Docker 部署 Centos的完整步骤。

1,拉取 centos 镜像。

[chencc@VM-0-10-centos ~]$ docker pull centos

2,查看系统所有镜像。

[chencc@VM-0-10-centos ~]$ docker images

3,新建并启动,进入容器(!!!!互动模式,即退出容器后,容器会自动销毁)。
9f266d35e02c 是镜像ID
docker run -it --name mycentos(别名) 9f266d35e02c
-i 以交互模式运行容器,通常和 -t 一起使用
-t 为容器分配一个伪终端
–name

[chencc@VM-0-10-centos ~]$ docker run -it --name=mycentos 9f266d35e02c

4,进入容器后,可以进行相关操作,这里小编就展示一下 pwd 指令操作了。

[root@9ad0532edb6a /]# pwd
/

5,操作结束后,要退出容器,执行下面的两种指令。分别有不同的效果
(1)容器停止并退出:

[root@97ef5f3a0abd /]# exit
exit
[chencc@VM-0-10-centos ~]$ docker ps -a
CONTAINER ID        IMAGE                                      COMMAND                  CREATED             STATUS                      PORTS                               NAMES
97ef5f3a0abd        9f266d35e02c                               "/bin/bash"              2 minutes ago       Exited (0) 14 seconds ago    ## 当前容器已经停止 

(2)容器不停止退出: 执行 ctrl+p+q
6,进入容器。有下面两种方式:
(1)直接进入容器启动命令的终端,不会启动新的进程。

[chencc@VM-0-10-centos ~]$ docker attach 97ef5f3a0abd
[root@97ef5f3a0abd /]# ll

(2)docker exec 在容器中打开新的终端,并且可以启动新的进程,直接返回查询结果。

[chencc@VM-0-10-centos ~]$ docker exec -t c074a107469a ls -l /tmp
total 4
-rwx------ 1 root root 836 Sep 11  2017 ks-script-WjRn64
-rw------- 1 root root   0 Sep 11  2017 yum.log

7,重启已经容器

[chencc@VM-0-10-centos ~]$ docker restart 97ef5f3a0abd
97ef5f3a0abd

8,停止容器,有两种方式停止容器
(1)缓慢停止

[chencc@VM-0-10-centos ~]$ docker stop 97ef5f3a0abd
97ef5f3a0abd

(2)强制停止

[chencc@VM-0-10-centos ~]$ docker kill 97ef5f3a0abd
97ef5f3a0abd

9,删除已经停止的容器

[chencc@VM-0-10-centos ~]$ docker rm cf6f3ce3dd05
cf6f3ce3dd05

10,新建并启动进入容器,(使用镜像,以后台模式启动一个容器)

[chencc@VM-0-10-centos ~]$ docker run -d 9f266d35e02c
41a2e82788914f3d9481a203b105f4eba69bc3b3979b5aa036af1389acf38b29
##但是启动后,就会自动销毁,因为容器觉得没用,需要以前台进程的形式运行,  如下
	
[chencc@VM-0-10-centos ~]$ docker run -d 9f266d35e02c /bin/bash -c "while true;do echo hello xxx;sleep 2;done"
c074a107469acfa883bf405e3850d3d4267c8786aa5e2769108ae7a684560217
[chencc@VM-0-10-centos ~]$ docker ps -a
CONTAINER ID        IMAGE                                      COMMAND                  CREATED             STATUS                     PORTS                               NAMES
c074a107469a        9f266d35e02c                               "/bin/bash -c 'while…"   34 seconds ago      Up 34 seconds         

11,查看日志

[chencc@VM-0-10-centos ~]$ docker logs -ft c074a107469a
## -f 跟随最新的日志打印
## -t 日志加上时间戳
## --tail n 打印最近多少条

12,复制容器中的文件到宿主机

[chencc@VM-0-10-centos ~]$ docker cp 34fd65234687:/tmp/yum.log /home/chencc
## 34fd65234687:/tmp/yum.log  容器ID:文件路径 宿主机指定存放文件目录
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐