背景
今天在修改開發環境數據庫參數,修改后restart容器,啟動后容器會自動退出,容器啟動后,使用 docker ps -a
命令 進行查看, 會發現容器已經退出。
原因
Docker容器后台運行,就必須有一個前台進程.容器運行的命令如果不是那些一直掛起的命令(比如運行top,tail),就是會自動退出的。
解決辦法
在啟動腳本里面增加一個執行進程:
tail -f /dev/null
tail -f /dev/null
如果是別人的鏡像你不想修改,可以用-dit參數
docker run -dit --name ubuntu2 ubuntu
或
docker run -d --name ubuntu ubuntu /bin/bash -c "tail -f /dev/null"