【问题标题】:Best practices for copying container images between ECRs in different account在不同账户的 ECR 之间复制容器镜像的最佳实践
【发布时间】:2022-06-18 22:01:22
【问题描述】:

我想知道在 AWS 中将 Docker 容器映像从 ECR 复制到 ECR 的最佳实践是什么。

我必须在多个 ECR 存储库之间定期复制容器映像,每个存储库都放置在单独的 AWS 账户中 - 就像镜像一样,但对于要复制的内容和要跳过的内容具有特定的过滤器。我编写了一个脚本,通过将丢失的图像从“源”ECR 拉到 EC2 VM,并将它们推送到“目标”ECR 来完成这项工作。 这行得通,但我对在单个线程中执行此操作的性能不满意,而且限制它的不是网络吞吐量,而是包装命令、运行对 AWS 的一些必要调用等的“费用”。

所以我正在考虑将脚本重写为多线程应用程序,但我想知道我是否正在发明自行车,并且有一些已知的更好的解决方案来完成这项任务。

【问题讨论】:

  • 我自己没试过,不过貌似合法,docs.aws.amazon.com/AmazonECR/latest/userguide/replication.html
  • 谢谢你,Sándor,我会试试这个。
  • Sándor,我发现这种方法不适合我的特定用例(在其中一个环境中对所有图像进行密集测试之前,将所有图像复制到各处并不总是好的),但它当然可以为其他人工作。再次感谢。

标签: amazon-web-services docker-image amazon-ecr


【解决方案1】:

正如 AWS 支持部门所确认的那样,除了直接镜像整个存储库之外,没有“开箱即用”的方式来完成这项工作。

因此,我重写了该工具,以便以更智能、更快捷的方式进行操作,并发布了它。

https://github.com/dfad1ripe/aws-ecr-cross-account-clone

要使用它,源和目标 AWS 账户都应该在 ~/.aws/credentials 中定义为配置文件,并且主机应该运行 Docker Engine 或 Docker Desktop。

【讨论】:

    猜你喜欢
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    • 2015-03-07
    • 2021-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多