简单的方法从私人的Dockerregistry中删除标签?

我有一个私人的Dockerregistry,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的来源,看起来不麻烦检查删除手稿是否安全。 我错过了什么吗?

有没有更好的方法来做到这一点? 如果没有,为什么不,而且可能会被修复?

目前没有api删除特定的标签 。 理论上,您可以将新的(可能是空的)清单推送到现有的标记,然后删除它。 否则,您将需要跟踪清理例程中的所有标记和清单,以确定可以安全删除的内容。

目前有一个拉取请求(#2169)来修改标记API,包括删除标记的选项。 这是2.7版本的一个里程碑,所以这可能是未来增加的function。