如何使用相同的imageID删除多个docker图像?

我创build了一个本地dockerregistry ,然后从docker hub中拖出一些docker镜像,然后将它们推送到本地registry中。 现在我想删除我的本地图像。 但这里的问题是图像的imageID是相同的,我不能删除它们。 我search的解决scheme,但我找不到解决scheme。

 >> docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE localhost:5000/[repo1] v-0.9.1 810001cb03af 4 weeks ago 594.6 MB [myaccount]/[repo1] v-0.9.1 810001cb03af 4 weeks ago 594.6 MB 

因为您看到两个图像的image ID是相同的。 我怎样才能删除它们?

编辑

  • 我的docker版本:

    Docker version 1.8.2, build 0a8c2e3

  • docker rmi 810001cb03af输出:

    来自守护程序的错误响应:冲突,无法删除图像810001cb03af,因为它在多个存储库中被标记,使用-f强制错误:无法删除图像:[810001cb03af]

  • 如果我做docker rmi -f 81000它将删除他们两个,我需要再次拉。

这是你可以做到这一点的一种方式。 运行命令:

 docker images | grep 810001cb03af | awk '{print $1 ":" $2}' | xargs docker rmi 

“810001cb03af”是你的图片ID。

这是一个方法:

如果图像ID相同,则可以将库和标签数据提供给“docker rmi”命令以移除图像。

命令

 docker rmi [repository_name1]:[tag1] [repository_name2]:[tag2] 

 docker rmi test-nginx:latest ubuntu:latest 

注意:需要对图像进行命名和标记,以便在问题中提到的要求有效地使用上述命令。

请参阅Docker文档中的“docker rmi”命令帮助: 这里

这种情况在rmi命令文档中完全描述

您可以使用其短或长ID,标签或摘要来移除图像。 如果图像有一个或多个引用它的标记,则必须在删除图像之前将其全部删除。 当标签删除图像时,摘要参考将被自动删除。

 $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE test1 latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB) test2 latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB) $ docker rmi fd484f19954f Error: Conflict, cannot delete image fd484f19954f because it is tagged in multiple repositories, use -f to force 2013/12/11 05:47:16 Error: failed to remove one or more images $ docker rmi test1 Untagged: test1:latest $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE test2 latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB) $ docker rmi test2 Untagged: test2:latest Deleted: fd484f19954f4920da7ff372b5067f5b7ddb2fd3830cecd17b96ea9e286ba5b8 

注意:这些不是具有相同ID的多个图像。 这实际上是在多个存储库中引用的一个图像(即给定多个标签)

运行以下命令删除具有相同图像ID的多个泊坞窗图像。

 sudo docker rmi -f **IMAGE ID** 

我只是检查了Docker文档,我认为这也是可以做的

RMI

您可以使用其短或长ID,标签或摘要来移除图像。 如果图像具有一个或多个标记或摘要引用,则必须在删除图像之前将其全部删除。

所以,而不是使用ID你可以做这样的事情—

$ docker rmi test1 Untagged: test1:latest $ docker rmi test2 Untagged: test2:latest

你应该尝试使用摘要去除图像,

  $ docker images --digests REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE localhost:5000/test/busybox <none> sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf 4986bf8c1536 $ docker rmi localhost:5000/test/busybox@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf Untagged: localhost:5000/test/busybox@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf Deleted: 4986bf8c15363d1c5d15512d5266f8777bfba4974ac56e3270e7760f6f0a8125 Deleted: ea13149945cb6b1e746bf28032f02e9b5a793523481a0a18645fc77ad53c4ea2 Deleted: df7546f9f060a2268024c8a230d8639878585defcc1bc6f79d2728a13957871b