从Docker Hub中删除一个镜像标签?

52

我找不到资源来了解如何管理Docker Hub镜像。

我有一个标记为V0.0.1的镜像,并构建了一个新的标记为V0.0.2的镜像。现在我想删除V0.0.1镜像,因为新版本构建方式不同,我不希望用户拉取旧镜像。


docker push user/myimage 应该更新它。 - user2915097
1
你是在说自动构建仓库吗?如果是的话,你不能自己删除标签(那个“x”标记不会出现)。 - Sabin
10个回答

64
您可以轻松从Docker Hub中删除带有标签的镜像。
  1. 登录Docker Hub。
  2. 在顶部导航栏中转到“存储库”,然后打开特定图像。
  3. 单击“管理存储库”按钮。
  4. 转到页面顶部的“标记”选项卡。
  5. 使用复选框标记要删除的标记。
  6. 您将在左上角看到一个“操作”下拉框。 点击它并选择“删除”。

标记删除截图

那就这样了。

4
当我尝试这样做时,我的浏览器的网络选项卡显示“403禁止访问”的响应。 - Thomas Hirsch
在查看复选框和删除操作之前,您需要单击“管理存储库”按钮。如果您看不到复选框,则处于公共视图中。 - Owain Williams
1
有没有编程的方法可以实现这个? - rela589n

9

可以在单击设置后,详细查看存储库中的内容。请参考以下图片:

屏幕截图


23
这会删除仓库,而不是镜像。 - Carey Gister
2
这个可行!看起来图像名称被视为存储库。存储库并不是您在hub.docker.com上的所有图像存储库。每个用户/图像名称都被视为公共存储库。如果您只想删除图像的某个版本,则可以从“标签”中完成。 - vishnu viswanath
这不会删除图片,而是会删除您的代码库。 - chiducaf
有些人可能会把“repository”理解为“容器”。这会让一些经验不足的人感到困惑。我认为这个答案非常有价值。=D 请参见此处 https://hub.docker.com/support/doc/how-do-i-delete-a-repository 。 - Eduardo Lucio

7

我终于在2020年找到了如何做到这一点!

目前无法从“标签”页面中删除标签,但仍有一种方法:

  1. 进入Dockerhub上的镜像页面
  2. 点击“管理存储库”
  3. 在“标签和扫描”下点击“查看全部”
  4. 现在你可以勾选标签并使用“删除”操作

旧帖子,但这是我在2020年使用的方法。 - 8675309
2
成功。 "查看全部" 是重要的一步。只是为了澄清第一步:您转到图片的常规主页,即具有选项卡的主页:常规、标签、构建,在常规选项卡上有“标签和扫描”列表。 - Werner Daehn

4
在以前的版本中,您可以通过“标签”选项卡来删除标签,该选项卡显示了一个小的“x”,您可以单击它来删除标签。在新版Hub中,这似乎已经消失了。我只能假设这个功能会在某个阶段返回。
相关问题似乎是https://github.com/docker/hub-feedback/issues/68
目前我能看到的唯一解决方法是:
  • 删除存储库并重新创建它,仅推送您想要保留的标签
  • 联系Docker支持并请求他们手动删除不需要的标签

3
感谢您的输入!我想知道Docker Hub是如何管理所有已弃用的“Ghost”镜像的。 - user4980720
什么是“ghost”镜像?您可以删除一个镜像,也可以不删除。旧的镜像只是留在那里,因此请参见http://www.banyanops.com/blog/analyzing-docker-hub/。 - Adrian Mouat
没有x,但我已经登录并且这是我的代码库。 - Huluvu424242
1
@FunThomas424242 嗯,看起来在新版本的 Hub 中已经消失了。很奇怪。以前是可以的。 - Adrian Mouat

4

1
实际上,我认为正确的问题是 https://github.com/docker/hub-feedback/issues/68(250 是关于自动构建的,你从来没有能够删除标签)。 - Adrian Mouat

4
截至2016年10月,当您单击Docker Hub存储库和“Tags”选项卡时,在每个版本右侧都会出现删除按钮/图标。请参考以下截图:Docker Hub screenshot

4
这会删除标签,但不会删除图片。 - Carey Gister
1
实际上,这确实会删除图像。当图像被推送到Docker Hub时,它们需要分配给带有标签的存储库。存储库名称由两部分组成:拥有存储库的用户/组织和存储库的个人名称。删除标签确实会删除它所指向的图像(假设您没有多个标签指向同一图像)。如果您想删除与存储库相关联的粗体标签,则可以执行Humberto Barbosa在其答案中提到的操作。 - Jonathon Richardson
原帖作者想要推送一个新的标签并删除旧的标签,这正是此功能所允许的。您还可以使用相同的标签在旧图像上推送图像。如果您想始终跟踪最新的v1构建,则此功能非常有用。只需拉取v1.0.1,将其标记为v1,然后再次推送即可。 - Jonathon Richardson
1
它不会删除镜像。当我在本地执行docker pull时,我可以获取到镜像,但是在Docker Hub的标签页面上却找不到它。 - duality_

2
  1. 打开hub.docker.com并登录。
  2. 点击您的镜像的详细信息。
  3. 点击标签。
  4. 点击右侧的删除图标(bin)。

不幸的是,即使您删除了该镜像的唯一标签,该镜像仍将列在您的账户/存储库中。然而,任何尝试使用docker pull下载该镜像的人都会收到错误消息。 我想唯一完全删除该镜像的方法就是删除该账户(以及其所有镜像)。


1
人们一直在说Docker Hub UI中删除特定标签的功能已被移除,但这是不准确的,只是有点更难找到了。
  1. 进入Docker Hub中的存储库
  2. 点击“标签”
  3. 在底部,点击“查看全部”链接
  4. 按下您想要删除的标签右侧的“...”菜单
  5. 按下“删除”
这将允许您在新版本的Docker Hub上删除特定标签。

我认为这已经不存在了。 - Adrien Pavao

1
自从Docker Hub最近更新其用户界面以来,您现在可以在存储库的设置选项下找到删除选项。
因此,以下是工作流程:
1. 转到“存储库”。 2. 选择要删除的存储库。 3. 选择“设置”选项卡。 4. 单击“删除存储库”按钮。 5. 在弹出窗口中输入存储库名称以确认并确认删除。

enter image description here

如果您想删除一张图片,请前往“标签”选项卡。点击“...”符号,即可看到删除图片的选项,如下图所示。

enter image description here


-5

当您登录到Docker Hub时,在“设置”选项卡中有一个大红色的“删除”按钮。


3
因为设置选项卡中的“删除”操作是删除整个代码库而不是像 OP 所要求的单个不需要的标签,所以被负评。其他答案已经指出了如何删除特定标签以及因此删除图像(只要没有更多引用该图像的标签)。 - praneetloke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接