近來(lái)在使用Docker時(shí),遇到了一些奇怪的問(wèn)題,發(fā)現(xiàn)輸入Docker命令后沒(méi)有任何反應(yīng)。我檢查了環(huán)境變量設(shè)置并重新安裝了Docker,可問(wèn)題仍舊存在。
$ docker --version
輸出結(jié)果為空白,即使是簡(jiǎn)單的命令也不能正常執(zhí)行,如:
$ docker ps
經(jīng)過(guò)查閱資料與嘗試,終于解決了這個(gè)問(wèn)題。
一些用戶(hù)在安裝Docker時(shí)需要輸入如下命令:
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
這個(gè)命令只是在安裝Docker本體的同時(shí)不會(huì)將Docker服務(wù)加入當(dāng)前用戶(hù)組,這樣就會(huì)導(dǎo)致不能正常使用Docker。
正確的安裝命令應(yīng)為:
$ sudo apt-get install docker-ce docker-ce-cli containerd.io $ sudo usermod -aG docker $USER && newgrp docker
這個(gè)命令將Docker服務(wù)加入當(dāng)前用戶(hù)組,并重啟組以使修改生效。
嘗試執(zhí)行Docker命令時(shí),我檢查了Docker日志并發(fā)現(xiàn)了以下錯(cuò)誤:
failed to connect to containerd: context deadline exceeded
這說(shuō)明Docker與containerd之間通訊出現(xiàn)了問(wèn)題,需要進(jìn)行修復(fù)。
運(yùn)行如下命令以恢復(fù)Docker服務(wù):
$ sudo systemctl reset-failed docker.containerd docker docker.socket docker.service && sudo systemctl restart docker containerd
如此一來(lái),Docker命令就可以正常運(yùn)行了,并且沒(méi)有再次遇到問(wèn)題。
上一篇jquery 首尾字符串
下一篇html特效字代碼