菜单

Solving Error response from daemon OCI runtime create failed container with id exists

2020年10月28日 - 我的心情
Backup then:
root@aaa ~> rm -rf /var/run/docker/runtime-runc/moby/*
root@aaa ~> service docker stop
root@aaa ~> reboot

 

问题发生
有两个闲置的容器在删除时发生错误,处在Removal In Progress状态。在重启Docker后处于Dead状态。

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                PORTS                                      NAMES
cdcf0acae1af        nginx:latest        "nginx -g 'daemon of…"   6 months ago        Removal In Progress                                              webproxy
c58e2a73f117        hexoblogs:latest    "nginx -g 'daemon of…"   11 months ago       Removal In Progress                                              dhblogs
删除时提示信息如下:


$ sudo docker rm webproxy
Error response from daemon: driver "devicemapper" failed to remove root filesystem for cdcf0acae1afb7da7e57653945b7322e32bc6909444558ba6834612b8bfa5ebd: remove /mnt/docker/devicemapper/mnt/5faf8f2ec431bad0e1e2938330b2844209e864b1b76c857fea5f29b44a18999a: device or resource busy
网上有很多类似的解决办法,但试了几个均不能使用,例如:

$ docker system prune
$ find /var/lib/docker -name "*webproxy*"
$ mount -l
$ umount
$ ...
最终解决方案:

$ grep docker /proc/*/mountinfo | grep 5faf8f2ec431bad0e1e2938330b2844209e864b1b76c857fea5f29b44a18999a
/proc/24762/mountinfo:145 143 252:5 / /mnt/docker/devicemapper/mnt/5faf8f2ec431bad0e1e2938330b2844209e864b1b76c857fea5f29b44a18999a rw,relatime shared:97 - xfs /dev/mapper/docker-253:17-15728997-5faf8f2ec431bad0e1e2938330b2844209e864b1b76c857fea5f29b44a18999a rw,nouuid,attr2,inode64,logbsize=64k,sunit=128,swidth=128,noquota
$ kill -9 24762
$ docker rm dhblogs
dhblogs
说明:grep检索的不是容器号,而是删除时提示信息中/mnt/docker/devicemapper/mnt/*** 驱动器号,得到占用该驱动器的进程号 24762(/proc/24762/mountinfo),杀死进程即可

 

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注