2016-12-23 161 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

相關問題