docker容器如何强制删除

这篇文章将为大家详细讲解有关docker容器如何强制删除,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

如何强制删除docker容器?有时我们可能会遇到docker中无法停止或删除容器服务的问题,执行删除命令无法删除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

关于docker容器如何强制删除就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。