docker部署的容器处于Removal In Progress的解决方案
如题,这种情况的容器直接通过docker rm -f containerId的方式没办法直接删除,会出现Error Response directory not empty的错误,通过docker inspect containerId的命令查询到该容器相关的文件在宿主机的位置如下图:
上图红色箭头所指的文件夹就是出现Removal In Progress状态容器的宿主机文件夹,进入该文件夹后ls会发现是空的,但实际通过ls -A的命令查看会发现有一个.usexxxx的隐藏文件在,即便删除后
依然还会一直不停创建,导致容器无法删除。
解决办法:
第一步、进入上图文件夹后找到对应的.usexxxxx的文件,通过lsof 文件名的命令获取文件的进程pid
上图是个类似的图,一定要找到那个.fuse_hiddenxxxxx不停创建的隐藏文件的pid
第二步、通过kill -9 杀掉该pid的进程,然后重新通过docker run部署容器即可。