从远程仓库中删除Docker镜像

5
我有以下内容:
Docker注册表:http://myPrivateRegistry:5000 仓库:myRepo
镜像:myImage 我通过以下方式将此镜像推送到远程仓库:
docker push http://myPrivateRegistry:5000/myRepo/myImage

如何从“远程仓库”中删除此镜像,而不仅仅是本地删除?docker rmi http://myPrivateRegistry:5000/myRepo/myImage会取消镜像标记,但不会将其从远程仓库中删除。

2020年9月的方式:https://dev59.com/Q73pa4cB1Zd3GeqPZC_9 - nazim
2个回答

2

经过一段时间的谷歌搜索,我发现您可以使用Curl命令删除图像,例如:

curl -X DELETE registry-url/v1/repositories/repository-name/

这会显示一条消息..您应该自动重定向到目标URL:<a href="http://///myPrivateRegistry:5000/myRepo/myImage">http:////myPrivateRegistry:5000/myRepo/myImage/</a>。如果没有,请点击链接。 - user_mda

1
据我所见,这仍在讨论422问题中。
虽然删除是API的一部分,但它们不能在最终一致的后端(即s3)上安全实现。
主要障碍来自于在最终一致存储系统之上进行引用计数的复杂性。我们需要考虑是否值得面对这种复杂性或采用混合存储模型,在其中引用被一致地存储。
只要注册表支持各种后端,使用最终一致的VFS模型,没有更多基础设施,就不可能实现安全删除。 问题210提到了软删除已作为API的一部分实现,并且已经开放了更多专门的问题以进行垃圾回收。

https://github.com/docker/distribution/issues/422#issuecomment-114963170


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