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。如有錯誤或未考慮完全的地方,望不吝賜教。