即使在退出命令后,Docker容器仍显示正在运行

时间:2016-11-01 13:38:42

标签: docker

我是码头工人的新手,因此可能会错过一个简单的作品。这是我的情景。我用一个命令'docker run -it ubuntu:14.04'启动了一个容器。然后使用Ctrl + P + Q,我退出,以便容器继续运行。我用docker ps验证了,看到容器正在运行。然后我再次使用'docker exec -it bash进入容器。这让我再次进入了容器。现在输入'exit'命令,我从容器中走出来,但容器仍处于运行模式。通常使用exit命令,容器会停止。知道为什么会这样吗?

2 个答案:

答案 0 :(得分:2)

容器的运行状态与为其创建的初始进程相关联。

如果你docker run,那么这将创建一个带有一些初始过程的新容器。当该进程终止时,整个容器停止。如果该初始流程为bash,而您exit,则会终止容器本身。

docker exec在正在运行的容器内启动一个新进程。当该进程终止时,容器仍然继续运行。

exit键入交互式bash shell只会退出该shell。它不会影响在同一容器内运行的其他进程(就像在主机操作系统中关闭一个终端窗口不会影响任何其他进程一样)。

答案 1 :(得分:0)

在您的情况下使用exit命令,容器仅停止/bin/bash/可执行文件。可能其他一些应用程序,如NGINX或Apache正在容器内运行,不会让它关闭。