Docker常見異常和注意點總結

筆者整理的一些使用 docker 的時候,遇到的問題和解決辦法

遇到的一些異常和解決方法

1、刪除映象時出現:

Error response from daemon: conflict: unable to delete 95219df55354 (must be forced) - image is referenced in multiple repositories

可以透過 docker rmi 名稱:tag 來刪除,不用 id 刪除

2、查詢 docker daemon 啟動日誌

tail -f /var/log/upstart/docker。logcan‘t create unix socket /var/run/docker。sock: is a directoryrm -rf /var/run/docker。sock

然後重新啟動

3、沒有許可權訪問 docker。sock

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker。sock

檢視 ls -l /var/run/docker。sock,所在的組,(一般在 docker 組中)

將使用者重新加入 docker 組中,並且重新登入即可(usermod -aG docker ${USER})

4、狀態為 dead 的容器刪除報錯

Error response from daemon: Driver aufs failed to remove root filesystem 0753373785c32e6dabd87396a63844711f4eab04841a0c3183b881d6d939c003: aufs: unmount error after retries: /var/lib/docker/aufs/mnt/aa87e99f1031d48daa66ce1abfb1550248918e4a4bfd737310913e903e4a3f83: device or resource busy

使用 docker rm -fv 容器 id 過幾分鐘後會自動刪除

5、防火牆異常

docker: Error response from daemon: driver failed programming external connectivity on endpoint quizzical_bell (f09acf9ddddc99be6397c5031f5c680088aedd6fe9593d86c4a38c21fdf29d4d): (iptables failed: iptables ——wait -t filter -A DOCKER ! -i docker0 -o docker0 -p tcp -d 172。17。0。2 ——dport 8080 -j ACCEPT: iptables: No chain/target/match by that name。

關閉防火牆,重啟 docker daemo

sudo service docker restart

6、埠衝突異常

docker: Error response from daemon: driver failed programming external connectivity on endpoint kind_turing3 (78479c5356c5cd6aa003b1b97816610ab1c716288faddb48827ee1fdc7a87492): Bind for 0。0。0。0:80 failed: port is already allocated

容器埠衝突,更換宿主機繫結端

7、修改完 docker root dir,重啟後,下載映象報錯:

docker: Error response from daemon: containerd: container did not start before the specified timeout。ERRO[0133] error getting events from daemon: context canceled

解決:重啟伺服器

出處:http://dwz.date/bs7N