为什么我的docker容器在运行命令后退出

时间:2016-12-23 22:52:23

标签: docker dockerfile

我的泊坞窗图片是从Dockerfile下面创建的:

FROM centos
CMD ping 8.8.8.8

当我在命令下运行时,容器立即存在。

docker run -d d1 bash

但如果我在命令下运行,我可以在容器中的shell上附加:

docker run -it d1 bash

我不知道为什么第一个命令不会在容器中创建shell。

EDIT1

我希望我的容器在后台运行,以便我以后可以附加它。但在运行第一个命令后,容器停止了,我不知道原因。

1 个答案:

答案 0 :(得分:1)

第一个命令确实创建了一个shell,但它在没有附加任何输入的情况下断开连接。就像你运行bash </dev/null一样,shell在到达stdin结束后立即退出。如果你运行docker run -itd d1 bash,你将有一个tty和stdin连接到shell,因此它不会退出,但会断开连接。您还可以选择其他要运行的命令,例如docker -d d1 tail -f /dev/null