问题:
今天删除容器时提示删除失败,报错信息如下:
Error response from daemon: driver "overlay" failed to remove root filesystem for
6d210917a5dd6b63f7ad13af5bc069387a9748611273121e4f17b8f885dd140f: remove
/data/docker/overlay/b9ea1cbad73da0294747ac45f536255ae6f1cd7e97557e071b3b25883bcd2c27/merged:
device or resource busy
在返回的信息里面,可以看到是由:
/data/docker/overlay/b9ea1cbad73da0294747ac45f536255ae6f1cd7e97557e071b3b25883bcd2c27
引起的。
解决方法:
查看所有挂载的设备的命令(不使用):
grep docker /proc/*/mountinfo
使用下面的方法来 查看容器目录挂载的进程
:
grep docker /proc/*/mountinfo | grep xxx
其中 xxx
就是上面的那个路径。执行的完整指令即
grep docker /proc/*/mountinfo | grep /data/docker/overlay/b9ea1cbad73da0294747ac45f536255ae6f1cd7e97557e071b3b25883bcd2c27
如下图,会返回一些信息。
/data/docker/overlay/b9ea1cbad73da0294747ac45f536255ae6f1cd7e97557e071b3b25883bcd2c27
/proc/5833/mountinfo:693 662 0:82 / /data/docker/overlay/b9ea1cbad73da0294747ac45f536255ae6f1cd7e97557e071b3b25883bcd2c27/merged rw,relatime shared:463 - overlay overlay rw,lowerdir=/data/docker/overlay/b9ea1cbad73da0294747ac45f536255ae6f1cd7e97557e071b3b25883bcd2c27/root,upperdir=/data/docker/overlay/7fcdbd02852d3a1be822f078718430859760abb51396b70a7b5de6ee22307258/upper,workdir=/data/docker/overlay/7fcdbd02852d3a1be822f078718430859760abb51396b70a7b5de6ee22307258/work
此时将返回该进程的信息(可以看到进程号5833),使用 kill
即可删掉进程。最后再删除容器即可。
kill -9 5833