1. 程式人生 > >docker在Ubuntu中不能正常啟動的解決辦法

docker在Ubuntu中不能正常啟動的解決辦法

docker有時候會不能正常工作,有時候非得重啟機器才行,確實很麻煩。

根據我的經驗,在Ubuntu中docker出現的一般性問題都比較容易解決。

首先清理docker執行中的所有程序和產生的檔案stop docker,如果用systemctl的話就是systemctl stop docker,remove在/run目錄下所有跟docker相關的東西。

#systemctl stop docker; rm /run/docker*

如果一切正常,docker的程序及其殘留檔案應該被殺死了,這個時候直接執行dockerd

#dockerd

如果能夠出現dockerd在監聽的log證明docker可以正常啟動了,這個時候只有restore docker就好了。如果沒有正常啟動那這一步會提示你出錯的原因,一般的原因為:

kernel issue,module沒有支援之類的錯誤,這時候就需要重新編譯kernel,將缺失的模組編進去。在moby的程式碼下面有一個check指令碼用來檢測環境非常有用。

如果上面的辦法還沒有奏效就只能使用終極大法了,因為這招具有破壞性,一般不建議使用,除非你的docker image之類的東西都不要了。

#systemctl stop docker; rm /run/docker* ; mv /var/lib/docker /var/lib/docker.bk

這招基本會消滅掉docker在執行狀態和靜態的工作目錄。這個時候直接執行dockerd,如果正常啟動,一切OK,如果這招依然沒有奏效,你可以去問問Google了或者洗洗睡吧。