在Centos7和Docker 1.8.2上运行时,我无法使用Zgr3doo的解决方案通过devicemapper卸载(我认为我得到的响应是该卷未被挂载/找到)。
我认为我也遇到了类似的问题,来自sk8terboi87 ツ 的答案:我相信消息是卷无法卸载,并且它列出了尝试卸载以删除死容器的特定卷。
对我有效的是先停止docker,然后手动删除目录。我能够通过前一个命令的错误输出确定它们是哪些。
以上是模糊描述的道歉。处理死容器几天后,我才发现这个SO问题。 ...但是,今天我注意到了类似的模式:
$ sudo docker stop fervent_fermi; sudo docker rm fervent_fermi fervent_fermi
Error response from daemon: Cannot destroy container fervent_fermi: Driver devicemapper failed to remove root filesystem a11bae452da3dd776354aae311da5be5ff70ac9ebf33d33b66a24c62c3ec7f35: Device is Busy
Error: failed to remove containers: [fervent_fermi]
$ sudo systemctl docker stop
$ sudo rm -rf /var/lib/docker/devicemapper/mnt/a11bae452da3dd776354aae311da5be5ff70ac9ebf33d33b66a24c62c3ec7f35
$
我注意到,当使用这种方法时,Docker 会使用不同的名称重新创建镜像:
a11bae452da3 trend_av_docker "bash" 2 weeks ago Dead compassionate_ardinghelli
这可能是由于容器被发出了restart=always的命令,然而,容器ID与之前使用我强制删除的卷的容器ID相匹配。删除这个新容器没有任何困难:
$ sudo docker rm -v compassionate_ardinghelli
compassionate_ardinghelli