如何删除推送的Docker镜像?

时间:2016-09-07 04:25:19

标签: docker docker-registry

Image 0dd747e33c96 already pushed, skipping
Image 9ebea32a283d already pushed, skipping
Image 3690474eb5b4 already pushed, skipping
Image cbf4c83202ff already pushed, skipping
Image 09ddd09520af already pushed, skipping

如何从私有泊坞窗注册表中删除这些图片? (这是v1)?我可以访问服务器。

为什么我要这样做?我正在通过Jenkins docker插件构建一个图像,它只是不会将更改推送到注册表。以当地作品为基础。

我也很乐意强行覆盖它们。

3 个答案:

答案 0 :(得分:1)

首先,您的图像实际上是图像层。在进行更改时,并不意味着所有图层都在发生变化。如果没有任何变化,docker和注册表都足够聪明,不会推送任何东西。这不是旧图像在使用新图像时不会更新的问题,而是更像旧图像图层不会在构建过程中更改。

在v1中无法删除图像。最好的选择是更新到更新的注册表,因为v2已经存在了很长时间。

最新版本的docker发行版提供了一个API。

签出docker分发API停靠站以删除图像

https://github.com/docker/distribution/blob/ed0b3aebb31a38ba617bb21494de9e914b6e4bed/docs/spec/api.md#deleting-an-image

  

删除图像

     

可以通过名称和参考从注册表中删除图像。   可以使用以下请求格式发出删除:

DELETE /v2/<name>/manifests/<reference> 
     

对于删除,必须参考   摘要或删除将失败。如果图像存在并且已经存在   成功删除后,将发出以下回复:

202 Accepted Content-Length: None 
     

如果图像已经存在   删除或不存在,将发出404 Not Found响应   代替。

     

注意从注册表版本2.3或更高版本中删除清单时,   HEAD或GET清单时必须使用以下标头   获取正确的摘要删除:   接受:application / vnd.docker.distribution.manifest.v2 + json

答案 1 :(得分:0)

转到https://hub.docker.com/repositories 点击标签,然后你可以确定你的形象,然后你会找到行动 点击它,你会看到删除 ► 就是它 ◄

答案 2 :(得分:-3)

登录docker hub帐户,单击您的存储库并转到设置。 https://hub.docker.com 您将看到删除按钮。