从私有Docker注册表中删除标记的简便方法?

前端之家收集整理的这篇文章主要介绍了从私有Docker注册表中删除标记的简便方法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个私有的Docker注册表,v2.6.0,在映像上包含几个标记版本:

foo/bar:1
foo/bar:1_keep    (same image as 1)
foo/bar:2
foo/bar:3
foo/bar:latest    (same image as 3)

我想删除单个标记而不必删除图像.因此,如果我删除标记2,则可以删除图像,因为没有其他任何内容引用它.但是如果我删除标签1,那么只有标签应该去,而不是图像.

这表明API请求是这样的:

DELETE http://repo/v2/foo/bar/tags/1

但这给了我一个404.相反,我必须删除清单,这意味着要做所有检查它没有被另一个标签使用的工作.

我查看了https://github.com/fraunhoferfokus/deckschrubber的来源,并且通过检查删除稿件是否安全似乎并不麻烦.我错过了什么吗?

有更好的方法吗?如果没有,为什么不,并且可能会被修复?

最佳答案
目前有no api to delete a specific tag.从理论上讲,您可以将新的(可能为空)清单推送到现有标签,然后将其删除.否则,您将需要跟踪清理例程中的所有标记和清单,以确定可以安全删除内容.

目前有一个pull request (#2169)修改标签API,包括删除标签的选项.它是2.7版本的里程碑,因此这可能是将来添加功能.

原文链接:https://www.f2er.com/docker/437086.html

猜你在找的Docker相关文章