开发者学堂课程【深入解析 Docker 容器化技术:创建守护式容器】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/659/detail/10939
创建守护式容器
创建守护式容器
在上节课已经创建了一个交互式容器,除此之外还可以创建一个守护式容器,那么什么是守护式容器呢?在这个过程中,只是她的一些选项不一样了,守护式容器其实就是叫做后台运行。命令 name 名字后可以用等号,也可以用什么空格来代替,名字是不能重复的。命令如下:
docker
run
-
it
--
name
c
1
centos
/bin/bash
下面执行一下指令:
[root@localhost ~]# docker run -it --name c1 centos /bin/bash
e2756d1b295195d6ca47…
[root@localhost ~]#
可以发现与创建交互式容器不同,创建守护式容器并没有进入容器中,还是在宿主机,所以这就是守护式容器。如果想要对容器进行操作就要进行登录容器,登录命令如下:
[root@localhost ~]#docker exec -it c2 /bin/bash
Error response from daemon: Container e27 56d1b295195d6ca47… is not running
此时出现报错为刚刚上面创建的容器并没有运行,查看后发现确实没有运行。这里已经有 c2的容器了,所以下面再创建一个 c3的守护式容器,并把容器运行起来,如:
[root@localhost ~]# docker run -itd --name c1 centos /bin/bash
68ed03e3886bbe8d47…
[root@localhost ~]#
可以看到效果与之前一样还是没有进入容器当中,接下来再查看容器 c3是否在运行,如:
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CRE… NAMES
68ed03e3886b centos “/bin/bash” 10 se… c3
可以看到 c3容器已经处于运行中,然后进行登录容器,如:
[root@localhost ~]#docker exec -it c2 /bin/bash
[root@68ed03e3886b ~]#
运行结果如上说明成功进入到 c3容器,然后就可以进行对该容器的操作了,比如安装软件,安装服务等。紧接着进行退出容器,如:
[root@68ed03e3886b ~]#exit
exit
[root@localhost
~]#
退出后再次查看容器状态,如:
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CRE… NAMES
68ed03e3886b centos “/bin/bash” 51 se… c3
从运行结果可以发现与交互式容器不同,守护式容器仍然在运行中。所以可以得知交互式容器一旦 exit 退出后,容器就会停止,而守护式容器一旦 exit 退出后,容器会继续运行。