Docker容器处于Removal in process无法删除
在正常情况下执行docker rm会将容器删除,但是如果容器处于Removal in process状态下,
执行docker rm会出现:
remove /mnt/docker/devicemapper/mnt/remove /mnt/docker/devicemapper/mnt/XXXXXXXX: device or resource busy
基于这种情况,可以通过以下方式解决:
1.查看容器关联的进程:
$ grep docker /proc/*/mountinfo | grep [XXX对应的值]
$ /proc/[ProcessID]/mountinfo.......
2.杀掉进程即可。
$ kill -9 [ProcessID]
3.再次执行docker rm即可删除容器。
$ docker rm containerID
删除docker容器状态为Dead的container
最近测试在使用容器时候会有容器处于Dead的状态,网上有说删除方法,可以使用
docker stop share-mnt 1>/dev/null 2>&1 | exit 0
docker rm -f share-mnt 1>/dev/null 2>&1 | exit 0
这种方式会有删除不掉的情况,所以在用在这种方式删除前重启服务器,那么就能删除掉。
还有一种方式就是到docker目录比如 /var/lib/docker删除相应文件夹目录
如果不想重启docker也可以使用这种办法先,如果碰到如下错误信息
grep docker /proc/*/mountinfo | grep 05f8df6a90a55c55e15e8361e13c6b111c0298017908a46fa5a643f38c766876 | awk -F’:’ ‘{print $1}’ | awk -F’/’ ‘{print $3}’
查出进程号,然后使用kill -9 processid
再使用docker rm -f containe id删除掉。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持aitechtogether.com。