详解Docker退出容器不关闭容器的方法

2020-06-17 06:41:23易采站长站整理

进入docker容器后如果退出容器,容器就会变成Exited的状态,那么如何退出容器让容器不关闭呢?

如果要正常退出不关闭容器,请按Ctrl+P+Q进行退出容器,这一点很重要,请牢记!

以下示例为退出容器但不关闭容器


[root@localhost ~]# docker attach c600c4519fc8
[root@c600c4519fc8 /]# exit
exit
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c600c4519fc8 centos "/bin/bash" 3 hours ago Exited (0) 1 second ago pensive_jackson
5a7a0d694651 busybox "sh" 20 hours ago Exited (0) 20 hours ago hungry_vaughan
4b0296d18849 hello-world "/hello" 46 hours ago Exited (0) 46 hours ago hopeful_yonath
[root@localhost ~]# docker start pensive_jackson
pensive_jackson
[root@localhost ~]# docker attach c600c4519fc8

Ctrl + P + Q

[root@c600c4519fc8 /]# read escape sequence
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c600c4519fc8 centos "/bin/bash" 3 hours ago Up 22 seconds pensive_jackson
5a7a0d694651 busybox "sh" 20 hours ago Exited (0) 20 hours ago hungry_vaughan
4b0296d18849 hello-world "/hello" 46 hours ago Exited (0) 46 hours ago hopeful_yonath

事实上我们可以在启动容器的时候就进行配置,加入-d参数来启动容器,当然,这条命令仅限于启动全新的容器,启动关闭的容器是不可以的。

Tips 1

docker run -d: 后台运行容器,并返回容器ID

以下示例为使用docker -d启动容器并退出


[root@localhost ~]# docker run -i -t -d centos /bin/bash
8521b11d5d99535d4cb0080adc5a58a4dd018ecd0751d9945f7da7ab01bec330
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8521b11d5d99 centos "/bin/bash" 4 seconds ago Up 4 seconds eager_goldwasser
c600c4519fc8 centos "/bin/bash" 3 hours ago Exited (0) 28 seconds ago pensive_jackson
5a7a0d694651 busybox "sh" 20 hours ago Exited (0) 20 hours ago hungry_vaughan
4b0296d18849 hello-world "/hello" 46 hours ago Exited (0) 46 hours ago hopeful_yonath
[root@localhost ~]# docker attach 8
[root@8521b11d5d99 /]# uname -r
3.10.0-514.el7.x86_64
[root@8521b11d5d99 /]# exit
exit
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8521b11d5d99 centos "/bin/bash" 2 minutes ago Exited (0) 2 seconds ago eager_goldwasser