首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >清理码头注册中心的重复图像

清理码头注册中心的重复图像
EN

Stack Overflow用户
提问于 2022-09-26 08:10:47
回答 1查看 55关注 0票数 0

我有一个注册表,对于一些图像,与不同的标签重复。这些不同的标签有相同的摘要。这些标签的版本号也在增加-例如:

代码语言:javascript
复制
image:478 (digest: foo)
image:477 (digest: foo)
image:476 (digest: foo)
image:475 (digest: bar)
image:474 (digest: baz)
image:473 (digest: baz)

虽然创建这些副本的工具已经修复,但我想清理注册表(尽管节省的空间很小,因为图像是完全相同的)并删除副本。对于每一篇文摘,我只想保留最古老的标签。因此,上述清单将被清理到以下几个方面:

代码语言:javascript
复制
image:476 (digest: foo)
image:475 (digest: bar)
image:473 (digest: baz)

我有什么选择来做这样的清理?

EN

回答 1

Stack Overflow用户

发布于 2022-09-26 13:29:31

取决于您的注册中心,您可能不会有标签删除API。充其量,您将有一个清单删除API,它接受摘要,并删除指向该摘要的所有标记。我在雷格中所做的解决方法是首先推送一个唯一的空清单,然后删除新的清单。这样做的脚本如下所示:

代码语言:javascript
复制
repo="registry.example.org/project/name"
last_digest=""
for tag in $(regctl tag ls "${repo}" | sort -r); do
  cur_digest="$(regctl image digest "${repo}:${tag}")"
  if [ "$last_digest" == "$cur_digest" ]; then
    echo "Deleting tag: $tag"
    regctl tag rm "${repo}:${tag}"
  fi
  last_digest="$cur_digest"
done

确保在没有tag rm命令的情况下进行测试,并验证正确的标记将被删除。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73851241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档