将 docker 映像从一个 AWS ECR 存储库复制到另一个

Posted

技术标签:

【中文标题】将 docker 映像从一个 AWS ECR 存储库复制到另一个【英文标题】:Copy docker image from one AWS ECR repo to another 【发布时间】:2019-04-19 08:57:28 【问题描述】:

我们想将一个 docker 镜像从非 prod 复制到 prod ECR 帐户。是否可以不拉,重新分类并再次推送它。

【问题讨论】:

为你们俩加分。为什么没有投票日期?一个清晰、实用的问题和一个直接、有效的答案。这就是 Stack Overflow 的用途! 【参考方案1】:

不,你必须运行这些命令

docker login OLD_REPO
docker pull OLD_REPO/IMAGE:TAG
docker tag OLD_REPO/IMAGE:TAG NEW_REPO/IMAGE:TAG
docker login NEW_REPO
docker push NEW_REPO/IMAGE:TAG

【讨论】:

【参考方案2】:

我已经用 python 编写了这个程序来将所有图像(或特定图像)从存储库迁移到另一个区域或不同区域的另一个帐户 https://gist.github.com/fabidick22/6a1962697357360f0d73e01950ae962b

【讨论】:

【参考方案3】:

答案:不,您必须拉、标记和推。

我今天为此编写了一个 bash 脚本。您可以指定要复制的标记图像的数量。

https://gist.github.com/virtualbeck/a635ef6701991f2087384eab7edbb18b

【讨论】:

以上是关于将 docker 映像从一个 AWS ECR 存储库复制到另一个的主要内容,如果未能解决你的问题,请参考以下文章

AWS Elastic Beanstalk Docker 来自 ECR 错误“Dockerrun.aws.json 中未指定 Docker 映像”

将映像从 aws ecr 部署到 aws elastic beanstalk

AWS ECR GetAuthorizationToken 问题

带有 Amazon ECR Docker 映像的 AWS Elastic Beanstalk

如何通过 AWS EKS 在 ECR 中使用 Docker 映像

AWS ECS Fargate 从跨账户 ECR 存储库中提取映像