Docker 退出container後保持繼續運行的操作
現象:
運行一個image,例如ubuntu14.04:
docker run -it --rm ubuntu:14.04 bash
退出時:
執行Ctrl+D或者執行exit
查看線程:
docker ps
發現為空,說明沒有正在運行的容器。
解決方法:
運行一個image:
docker run -dit ubuntu:14.04
查看線程:
發現有一個線程,打開它:
docker attach 【CONTAINER ID或NAMES】
退出時如果想繼續運行:按順序按【ctrl+p】,【ctrl+q】
如果不想繼續運行:按【ctrl+d】或輸入exit
另:關閉後重啟請輸入:docker restart 【CONTAINER ID或NAMES】
補充:Docker – 避免啟動container後運行shell腳本執行完成後docker退出container
最近在使用 Dockerfile 啟動容器,發現使用Dockerfile調用容器裡面的shell,當shell執行完成以後,docker會退出容器。
分析
Docker 在執行shell的時候,是在後臺執行的;因此,在shell執行完成以後,docker檢測到沒有前臺任務需要執行,便退出container.
解決方法
在shell腳本的最後加上一個“永遠完成不瞭”的命令:
# tail -f /dev/null
這樣當執行到這條命令的時候,shell便不會退出,container也不會退出。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- None Found