【问题标题】:Failed to remove docker images whose tag are <none>无法删除标签为 <none> 的 docker 镜像
【发布时间】:2016-12-23 12:15:14
【问题描述】:

我正在使用 docker 1.12.5 如下:

$ docker --version
Docker version 1.12.5, build 7392c3b

我有以下图片:

$ docker images|grep 5000
hoth.southbanksoftware.com:5000/dbenvy-controller              <none>              d1e229866063        4 days ago          919.4 MB

我使用以下命令删除此图像但失败:

$ docker rmi -f hoth.southbanksoftware.com:5000/dbenvy-controller
Error response from daemon: No such image: hoth.southbanksoftware.com:5000/dbenvy-controller:latest

它失败了,因为标签不是最新的。然后我尝试通过 id 删除它:

$ docker rmi -f d1e229866063
Error response from daemon: conflict: unable to delete d1e229866063 (cannot be forced) - image has dependent child images

它表明存在依赖的子图像。那么如何删除此图像及其子图像?

EDIT1

点击此链接docker how can I get the list of dependent child images?后,我确实删除了一些图片,但下面的图片仍然存在,无法删除。

$ docker images |grep 5000
hoth.southbanksoftware.com:5000/dbenvy-controller   <none>              4074bfc5705b        3 weeks ago         667.8 MB
hoth.southbanksoftware.com:5000/ubuntu_jdk8         <none>              4074bfc5705b        3 weeks ago         667.8 MB

以下是此图像 id 4074bfc5705b 的子图像:

$ docker images --filter since=4074bfc5705b
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
<none>              <none>              315ce2f11b01        4 days ago          667.8 MB
mysql               latest              594dc21de8de        9 days ago          400.2 MB
mongo               latest              86e302671af4        3 weeks ago         401.9 MB

我不明白的是,为什么 mysql 和 mongo docker 图像会在那里列出。它们是由docker pull 命令直接创建的。怎么变成童像了?

【问题讨论】:

标签: docker


【解决方案1】:

Docker 镜像是分层创建的,每一层都显示为另一个镜像。您可以对要删除的映像运行 docker inspect,然后对同一主机上的其他映像运行检查,以查看哪些映像基于此未命名的映像。

请注意,此映像可能类似于 Debian 本身,其他映像使用它作为基础。另请注意,此图像不会占用子图像不会占用的任何空间,每个图层仅在驱动器上存在一次。

【讨论】:

  • 感谢您的回复。有没有直接的方法来找出依赖图像?我在主机上有 50 多张图片。一项一项检查需要很多时间。
  • 我知道有工具可以生成主机上所有图像的树。我从来没有走这条路,因为它真的没有价值。与其尝试清理某处正在使用的匿名图像 id,不如直接清理不再需要的带有标签的图像,剩余的任何未使用的层都将被自动删除。
猜你喜欢
  • 1970-01-01
  • 2020-11-14
  • 2022-12-26
  • 2017-08-04
  • 2023-03-30
  • 2014-11-21
  • 1970-01-01
  • 1970-01-01
  • 2014-02-19
相关资源
最近更新 更多