现象:
Note: stopping existing Harbor instance ...
Removing nginx ... error
Removing harbor-jobservice ... error
Removing harbor-ui ... error
Removing harbor-adminserver ... error
Removing harbor-db ... error
Removing registry ... error
Removing harbor-log ... error
ERROR: for harbor-ui Driver overlay2 failed to remove root filesystem 148b73ce613bc7238781da2acb16856de85a0f7b05dd760b575e27745a9e994f: remove /var/lib/docker/overlay2/2872abd7db4a39545a4f7f6926c7d0d7fc81766805422d80195a41e9963de622/merged: device or resource busy
解决方案:
Error response from daemon: Driver overlay2 failed to remove root filesystem ab59d6be320b4c3bc5495e763b1bd034280105532052bf2f57c5be559dd95a5e: remove /var/lib/docker/overlay2/f270184ca1ed0db3ed786194d4039c46445eee71ae1c2139cf8b6e2f4f9712a9/merged: device or resource busy
Error response from daemon: Driver overlay2 failed to remove root filesystem ed3df7f97980956d834f0e16f1108e72b7ca2094ba41ed3e2f3b3930d6104d18: remove /var/lib/docker/overlay2/58cb8745b19730e3e41a177ee0857da8c43b9504f29be60142bfff01b1347a28/merged: device or resource busy
红色的这一部分,表示overlay2进程被占用,需要杀掉。
命令为:
grep docker /proc/*/mountinfo | grep /var/lib/docker/overlay2/f270184ca1ed0db3ed786194d4039c46445eee71ae1c2139cf8b6e2f4f9712a9
[root@localhost harbor]# grep docker /proc/*/mountinfo | grep /var/lib/docker/overlay2/f270184ca1ed0db3ed786194d4039c46445eee71ae1c2139cf8b6e2f4f9712a9
/proc/3973/mountinfo:363 361 0:40 / /var/lib/docker/overlay2/f270184ca1ed0db3ed786194d4039c46445eee71ae1c2139cf8b6e2f4f9712a9/merged rw,relatime shared:206 - overlay overlay rw,lowerdir=/var/lib/docker/overlay2/l/TRASAOVA4JYIYHRTKXSQFKDQA4:/var/lib/docker/overlay2/l/CMSHQBXRDJNFIAWGWQ2WGKKRZ6:/var/lib/docker/overlay2/l/SMIIJE2RPROWPSUCNFZBBFWL6G:/var/lib/docker/overlay2/l/6N6VUKZMKPICHFF4DKKPXRGPAD:/var/lib/docker/overlay2/l/YQFCLG7J4BBBTKVBI55QL3QEHT,upperdir=/var/lib/docker/overlay2/f270184ca1ed0db3ed786194d4039c46445eee71ae1c2139cf8b6e2f4f9712a9/diff,workdir=/var/lib/docker/overlay2/f270184ca1ed0db3ed786194d4039c46445eee71ae1c2139cf8b6e2f4f9712a9/work
这里的3973就是进程的PID,使用:kill -9 3973
杀掉该进程后,再以此检查其他报错中的进程是否也已经删除。如果删除成功,此时就可以正常重启docker 容器了。