docker容器服務(wù)開機自啟動 如何避免Docker容器啟動腳本運行后自動退出?
如何避免Docker容器啟動腳本運行后自動退出?避免自動退出的解決方案在運行docker容器啟動腳本后,docker run指定的命令如果不是已掛起的命令(如運行top和不斷回音),將自動退出。-“d
如何避免Docker容器啟動腳本運行后自動退出?
避免自動退出的解決方案在運行docker容器啟動腳本后,docker run指定的命令如果不是已掛起的命令(如運行top和不斷回音),將自動退出。-“d”命令將“detach”設(shè)置為true。根據(jù)官方文件,這意味著讓這個命令在后臺運行,但它并不是一直運行的(我們在普通的Linux終端上運行/bin/bash,運行后就會完成,而且我們不會一直等待響應(yīng),所以我們真的不能以“守護進程”的方式運行/bin/bash)。這個地方的早期和現(xiàn)在的官方文件確實有些不一致?,F(xiàn)在是分離。早期的文檔說指定-D以守護進程的方式運行容器可能有一些誤解。另外,如果需要在容器中運行bash,可以直接運行docker run-I-t containeruname/bin/bash。如果您認為有比docker attach更多的參數(shù),您可以設(shè)置一個別名來解決它:
~]#docker run-M 512M--memory swap 1g-it-P 58080:8080--restart=always
--name bvrfis--logdata中的卷mytomcat:4.0/root/run.sh
--重新啟動的具體參數(shù)值的詳細信息:
否-當容器退出時,不要重新啟動容器;
出現(xiàn)故障時-僅在容器以非零狀態(tài)退出時重新啟動容器;
始終-無論退出狀態(tài)如何重新啟動容器;
如果要在打開容器時自動啟動docker容器中的應(yīng)用程序服務(wù)。只需在dockerfile中編寫服務(wù)啟動腳本,然后使用dockerfile重建映像:
編寫應(yīng)用程序服務(wù)自啟動腳本
編寫dockerfile
重建映像
打開容器