我的泊坞窗图片是从Dockerfile下面创建的:
FROM centos
CMD ping 8.8.8.8
当我在命令下运行时,容器立即存在。
docker run -d d1 bash
但如果我在命令下运行,我可以在容器中的shell上附加:
docker run -it d1 bash
我不知道为什么第一个命令不会在容器中创建shell。
EDIT1
我希望我的容器在后台运行,以便我以后可以附加它。但在运行第一个命令后,容器停止了,我不知道原因。
答案 0 :(得分:1)
第一个命令确实创建了一个shell,但它在没有附加任何输入的情况下断开连接。就像你运行bash </dev/null
一样,shell在到达stdin结束后立即退出。如果你运行docker run -itd d1 bash
,你将有一个tty和stdin连接到shell,因此它不会退出,但会断开连接。您还可以选择其他要运行的命令,例如docker -d d1 tail -f /dev/null
。