将最大数量的图像推送到ECR存储库后会发生什么

时间:2017-01-20 03:34:58

标签: amazon-web-services docker amazon-ecs docker-container

根据Amazon ECR Service Limits,每个存储库的最大映像数为1,000。超过此限制后,最旧的图像将不会自动删除。它阻止推送到存储库。所以我必须手动清理旧图像。

更新:AWS引入了ECR Lifecycle Policies。我们现在可以使用它自动进行清理。

3 个答案:

答案 0 :(得分:3)

经历过这种确切的情况后,我可以确认,一旦达到限制,AWS将阻止您推送这个非常无用的错误消息:

Error pushing to registry: Server error: 403 trying to push <repo>:<label> manifest

您需要自己管理存储库的数量。由于目前没有内置的垃圾收集(也没有“删除最旧的”#),因此您有以下几种选择:

  1. 通过控制台删除图像(这对于许多图像来说真的很糟糕)
  2. 使用ecr batch-delete-image命令
  3. 编写与AWS CLI / SDK接口的自己的工具
  4. 请求限制每个存储库可以存储的最大数量。我们最近做到了这一点,很容易将1,000限制增加到5,000。

答案 1 :(得分:1)

另一个解决方案是定义ECR生命周期策略。这是一个操作指南:docs

答案 2 :(得分:0)

截至 2021 年 4 月,我认为存储库数量和每个存储库图像的限制均为 10k

enter image description here