如何删除 Docker 的镜像?

新手上路,请多包涵

我有以下图片:

 alex@alexvps:~$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
<none>              <none>              70c0e19168cf        5 days ago          1.069 GB
<none>              <none>              c2ce80b62174        8 days ago          399.2 MB
<none>              <none>              60afe4036d97        8 days ago          325.1 MB

当我尝试删除其中一个时,我得到:

 alex@alexvps:~$ sudo docker rmi 60afe4036d97
Error: Conflict, 60afe4036d97 wasn't deleted
2014/01/28 00:54:00 Error: failed to remove one or more images

我怎样才能删除它们?为什么会有这样的冲突?

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

阅读 457
2 个回答

为了删除所有图像,使用给定的命令

docker rmi $(docker images -q)

为了删除所有容器,使用给定的命令

docker rm $(docker ps -a -q)

警告:这将破坏您所有的图像和容器。将无法恢复它们!

该解决方案由 Techoverflow.net 提供。

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

可能的原因: 原因可能是这个镜像当前被一个正在运行的容器使用。在这种情况下,您可以列出正在运行的容器,停止相关容器,然后删除图像:

 docker ps
docker stop <containerid>
docker rm <containerid>
docker rmi <imageid>

如果您无法通过 docker ps 找到容器,您可以使用它列出所有已退出的容器并删除它们。

 docker ps -a | grep 60afe4036d97
docker rm <containerid>

注意: 如果您使用 Volume-Only 容器, 请注意 一次删除所有退出的容器。这些保持在 Exit 状态,但 包含有用的数据

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

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