Docker 退出container后保持繼續(xù)運(yùn)行的操作
運(yùn)行一個(gè)image,例如ubuntu14.04:
docker run -it --rm ubuntu:14.04 bash退出時(shí):
執(zhí)行Ctrl+D或者執(zhí)行exit
查看線程:
docker ps
發(fā)現(xiàn)為空,說明沒有正在運(yùn)行的容器。
解決方法:運(yùn)行一個(gè)image:
docker run -dit ubuntu:14.04
查看線程:
發(fā)現(xiàn)有一個(gè)線程,打開它:
docker attach 【CONTAINER ID或NAMES】
退出時(shí)如果想繼續(xù)運(yùn)行:按順序按【ctrl+p】,【ctrl+q】
如果不想繼續(xù)運(yùn)行:按【ctrl+d】或輸入exit
另:關(guān)閉后重啟請(qǐng)輸入:docker restart 【CONTAINER ID或NAMES】
補(bǔ)充:Docker - 避免啟動(dòng)container后運(yùn)行shell腳本執(zhí)行完成后docker退出container
最近在使用 Dockerfile 啟動(dòng)容器,發(fā)現(xiàn)使用Dockerfile調(diào)用容器里面的shell,當(dāng)shell執(zhí)行完成以后,docker會(huì)退出容器。
分析Docker 在執(zhí)行shell的時(shí)候,是在后臺(tái)執(zhí)行的;因此,在shell執(zhí)行完成以后,docker檢測(cè)到?jīng)]有前臺(tái)任務(wù)需要執(zhí)行,便退出container.
解決方法在shell腳本的最后加上一個(gè)“永遠(yuǎn)完成不了”的命令:
# tail -f /dev/null
這樣當(dāng)執(zhí)行到這條命令的時(shí)候,shell便不會(huì)退出,container也不會(huì)退出。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. asp.net core服務(wù)限制堆內(nèi)存大小的操作方法2. 解決ajax請(qǐng)求后臺(tái),有時(shí)收不到返回值的問題3. SpringMVC+Jquery實(shí)現(xiàn)Ajax功能4. 使用IDEA編寫jsp時(shí)EL表達(dá)式不起作用的問題及解決方法5. ASP.NET MVC實(shí)現(xiàn)單個(gè)圖片上傳、限制圖片格式與大小并在服務(wù)端裁剪圖片6. jstl 字符串處理函數(shù)7. .NET 6 跨服務(wù)器聯(lián)表查詢操作MySql、Oracle、SqlServer等相互聯(lián)表8. ThinkPHP5 通過ajax插入圖片并實(shí)時(shí)顯示(完整代碼)9. ASP.NET Core 依賴注入生命周期示例詳解10. 讀大數(shù)據(jù)量的XML文件的讀取問題
