4 回答

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個(gè)贊
避免Docker容器啟動(dòng)腳本運(yùn)行后自動(dòng)退出的解決辦法
docker run指定的命令如果不是那些一直掛起的命令(比如運(yùn)行top,不斷echo),就是會(huì)自動(dòng)退出的。-d命令是設(shè)置detach為true,根據(jù)官方的文檔,意思是讓這個(gè)命令在后臺(tái)運(yùn)行,但并不是一直運(yùn)行(我們?cè)谝粋€(gè)正常的Linux Terminal中運(yùn)行/bin/bash,運(yùn)行完了也就完了,不會(huì)一直掛著等待響應(yīng)的,所以確實(shí)沒辦法用daemon方式來跑/bin/bash)。這個(gè)地方官方早期和現(xiàn)在的文檔也確實(shí)有些前后不一致,現(xiàn)在是detach,早期的文檔說指定-d以daemon方式來運(yùn)行容器,可能存在一定的誤解。
另外,如果你需要跑容器里的bash,直接運(yùn)行docker run -i -t CONTAINER_NAME /bin/bash 就可以了,如果覺得參數(shù)比docker attach多,可以設(shè)置一個(gè)別名(alias)來解決:
alias dockerbash='docker run -i -t CONTAINER_ID /bin/bash'設(shè)置好別名后,直接運(yùn)行dockerbash就可以進(jìn)入容器的bash了

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個(gè)贊
避免Docker容器啟動(dòng)腳本運(yùn)行后自動(dòng)退出的解決辦法
docker run指定的命令如果不是那些一直掛起的命令(比如運(yùn)行top,不斷echo),就是會(huì)自動(dòng)退出的。-d命令是設(shè)置detach為true,根據(jù)官方的文檔,意思是讓這個(gè)命令在后臺(tái)運(yùn)行,但并不是一直運(yùn)行(我們?cè)谝粋€(gè)正常的Linux Terminal中運(yùn)行/bin/bash,運(yùn)行完了也就完了,不會(huì)一直掛著等待響應(yīng)的,所以確實(shí)沒辦法用daemon方式來跑/bin/bash)。這個(gè)地方官方早期和現(xiàn)在的文檔也確實(shí)有些前后不一致,現(xiàn)在是detach,早期的文檔說指定-d以daemon方式來運(yùn)行容器,可能存在一定的誤解。
另外,如果你需要跑容器里的bash,直接運(yùn)行docker run -i -t CONTAINER_NAME /bin/bash 就可以了,如果覺得參數(shù)比docker attach多,可以設(shè)置一個(gè)別名(alias)來解決:
alias dockerbash='docker run -i -t CONTAINER_ID /bin/bash'設(shè)置好別名后,直接運(yùn)行dockerbash就可以進(jìn)入容器的bash了
- 4 回答
- 0 關(guān)注
- 2790 瀏覽
添加回答
舉報(bào)