解决docker 容器删除不掉的问题

这里把 caf8ef20f3c1 换成你想要stop的容器ID

ll /var/lib/docker/containers | grep caf8ef20f3c1
cd /var/lib/docker/containers
rm -rf caf8ef20f3c1c78f03a5844ee23abc1d7e44246f242292040f1ef288899d0cb8

这个时候我们会收到这样的报错

rm: 无法删除"/var/lib/docker/containers/caf8ef20f3c1c78f03a5844ee23abc1d7e44246f242292040f1ef288899d0cb8/secrets": 设备或资源忙
无法删除"/var/lib/docker/containers/caf8ef20f3c1c78f03a5844ee23abc1d7e44246f242292040f1ef288899d0cb8/shm": 设备或资源忙

从报错我们可以看到“secrets”和“shm”共享挂载导致无法删除,首先找到挂载的位置,然后取消挂载后,再删除:

cat /proc/mounts |grep "docker" |grep "caf8ef20f3c1"

取消挂载,这是上面的挂载目录

umount /data/sys/var/docker/containers/caf8ef20f3c1c78f03a5844ee23abc1d7e44246f242292040f1ef288899d0cb8/secrets
umount /data/sys/var/docker/containers/caf8ef20f3c1c78f03a5844ee23abc1d7e44246f242292040f1ef288899d0cb8/shm

再次查看已经没有显示了

cat /proc/mounts |grep "docker" |grep "caf8ef20f3c1"

现在执行删除docker的目录:

cd /var/lib/docker/containers
rm -rf caf8ef20f3c1c78f03a5844ee23abc1d7e44246f242292040f1ef288899d0cb8

现在我们使用 rm 或 kill 来删除容器服务:

docker rm -f caf8ef20f3c1c

docker kill --signal=SIGINT caf8ef20f3c1

如果上面命令运行之后,出现hang住(卡住)现象,重启docker服务:

sudo service docker restart

原文地址:https://www.cnblogs.com/jiaobaobao/p/12456103.html