我有一个dead
的容器,但我无法将其删除,如下所示。
如何删除它?或者我如何手动清理系统以将其删除?
:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
78b0dcaffa89 ubuntu:latest "bash -c 'while tr..." 30 hours ago Dead leo.1.bkbjt6w08vgeo39rt1nmi7ock
:~$ docker rm --force 78b0dcaffa89
Error response from daemon: driver "aufs" failed to remove root filesystem for 78b0dcaffa89ac1e532748d44c9b2f57b940def0e34f1f0d26bf7ea1a10c222b: no such file or directory
答案 0 :(得分:7)
需要重新启动它可能的Docker。
我在尝试删除容器时遇到了同样的错误消息,并重启了Docker帮助。
我正在运行版本17.12.0-ce-mac49(21995)
要重启Docker,请转到“偏好设置”,然后点击右上角的小炸弹。
在我的情况下,我让Docker在我的MacBook上运行扩展驱动器。退出睡眠模式后,扩展驱动器自动弹出(不合需要)。但是在再次安装驱动器后,我意识到需要重新启动Docker才能再次初始化所有内容。此时我能够移除容器(docker rm -f)。
也许它的情况不一样,但重启Docker是一件很有用的事情。
答案 1 :(得分:2)
在浏览相关问题时,我发现类似的"Driver aufs failed to remove root filesystem", "device or resource busy",并且在80%左右,有一个解决方案,据说使用docker stop cadvisor
;然后docker rm [dead container]
编辑1:docker stop cadvisor 而不是docker stop deadContainerId
答案 2 :(得分:2)
正如错误消息所述,docker配置为使用AUFS
作为存储驱动程序,但他们建议使用Overlay2
,因为您可以在此链接上阅读:
https://github.com/moby/moby/issues/21704#issuecomment-312934372
所以我将配置更改为使用Overlay2
作为docker存储驱动程序。当我们这样做它从旧的存储驱动器中删除一切,这意味着我的"死"容器也不见了。
这不是我原始问题的解决方案,但结果已经完成。