如果用了一段時間的docker就會發現,我們的容器經常用了一段時間就自動退出了,docker ps已經找不到了,在docker ps -a里面了,然后我們docker start containerId
想重新開啟這個容器,可能這次來的更快,沒幾分鍾又只能在docker ps -a中找到了,容器又自己關了。由這個問題又可能引發其它很多的問題。
問題思路:docker run指定的命令如果不是那些一直掛起的命令(比如運行top,不斷echo),就是會自動退出的。-d命令是設置detach為true,根據官方的文檔,意思是讓這個命令在后台運行,但並不是一直運行,Docker容器后台運行,就必須有一個前台進程。主線程結束,容器會退出。
我們啟動容器的時候不要-d命令啟動,用-dit就好了
例如:
docker run -d hello-world(不要這么做)
docker run -dit hello-world(推薦)