2016-12-23 143 views
-1

我的搬运工图像从下面Dockerfile创建后做我的搬运工容器出口。为什么运行命令

docker run -d d1 bash 

,但如果我运行下面的命令,我可以在容器外壳连接:

docker run -it d1 bash 

我不知道为什么第一个命令不建立在一个壳容器。

EDIT1

我希望我的容器中,在后台运行,所以我可以在以后的时间连接到它。但在运行第一个命令后,容器停止了,我不知道原因。

回答

1

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

相关问题