1、問題描述:我在進行Docker網絡實驗時,使用docker run -d busybox命令時,busybox無法保持后台長期運行。
=============================================================================================================================
解決問題可參考:http://dockone.io/question/1544
一、理解以下參數含義
-d:--detach=false 以后台模式運行命令
-i:--interactive=false 開啟標准輸入,即使未與容器連接,也維持標准輸入
-t:--tty=false 使用TTY模式(pseudo-TTY)若要使用bash,則必須設置該選項。
二、舉幾個例子理解參數作用(拿/bin/sh舉例)
(1)不帶任何參數
因為sh需要用戶輸入命令,但是當前容器並沒有開啟標准輸入,sh所以會退出,容器直接退出。
(2)只是用-i參數開啟標准輸入
只使用-i參數,開啟標准輸入所以你可以和容器進行交互,但是因為沒有tty所以不會顯示shell。
此時會卡在命令行界面,但是通過另外再開一個窗口,可以發現busybox已經在后台運行,此時可以在新窗口中進行操作。
(3)只是用-it參數開啟標准輸入和tty即交互模式
(4)只是用-d是后台運行
因為只使用了后台模式,但是沒有-i,所以當沒有和容器鏈接時,不會維持標准輸入,sh退出,容器直接退出。
(5)使用-itd參數開啟標准輸入和tty即交互模式和后台運行
因為-i的存在,所以即使未與容器連接,也維持標准輸入,sh持續運行。