首页 > 解决方案 > 有没有办法仅在图像中有新更改时将新标签推送到注册表?

问题描述

我正在使用 CI 工具来构建新的 docker 镜像,然后将它们推送到我们在 AWS ECR 中的注册表。但是,我只是注意到我已经构建了几次图像,图像没有改变。这意味着我已经为同一个图像 ID 创建并推送了多个标签。我想避免使用冗余标签向我们的注册表发送垃圾邮件。我的问题是:

有没有办法在推送我刚刚构建的图像之前检查注册表中的图像 ID?

标签: dockerdocker-registry

解决方案


有多种方法可以处理这个

案例1(我觉得不对)

  • 检查 ECR 中的标签作为预检查,然后构建映像

案例2(我们目前使用的)

  • 仅当存储库发生更改时才使用 git hook 触发管道(或构建)

同样在旁注中,如果只有在过程中不断变化的二进制文件以跟踪此 dockerfile 所依赖的依赖项,则带有提交哈希或 datetimestamp 的标签将很有帮助。


推荐阅读