Docker - 无法删除死容器

新手上路,请多包涵

我无法删除死容器,在我重新启动 Docker 服务后它再次出现。

 docker ps -a
CONTAINER ID         STATUS
11667ef16239         Dead

然后

docker rm -f 11667ef16239

然后,当我运行 docker ps -a 时,没有显示 docker 容器。

 docker ps -a
CONTAINER ID         STATUS

但是,当我重新启动 docker 服务时:

 service docker restart

并再次运行 docker ps -a :

 docker ps -a
CONTAINER ID         STATUS
11667ef16239         Dead

原文由 Tuong Le 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 714
2 个回答

很可能,当守护进程试图清理容器时发生了错误,他现在陷入了这种“僵尸”状态。

恐怕您在这里唯一的选择是手动清理它:

 $ sudo rm -rf /var/lib/docker/<storage_driver>/11667ef16239.../

Where <storage_driver> is the name of your driver ( aufs , overlay , btrfs , or devicemapper ).

原文由 icecrime 发布,翻译遵循 CC BY-SA 3.0 许可协议

您还可以使用此命令删除 dead 容器

docker rm $(docker ps --all -q -f status=dead)

但是,我真的不确定为什么以及如何创建 dead 容器。这个错误似乎与 https://github.com/typesafehub/mesos-spark-integration-tests/issues/34 相关,只要我得到 dead 容器

[更新] 随着 Docker 1.13 更新,我们可以轻松删除不需要的容器,悬空的图像

$ docker system df #will show used space, similar to the unix tool df
$ docker system prune # will remove all unused data.

原文由 sk8terboi87 ツ 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题