如何直接在ECR中为容器镜像添加latest标签?
在ECR中直接为镜像添加新标签的可行方案
你提到的需求是可行的,但第一个思路无法实现,第二个思路可以完成操作,具体说明如下:
关于“在ECR中直接运行docker命令”
ECR本质是容器镜像托管仓库,并不提供执行docker命令的运行环境,所以不可能直接在ECR里运行docker tag这类命令。
通过aws ecr命令实现标签添加
可以通过AWS CLI的ECR命令,无需拉取镜像到本地,直接在ECR内部为已有镜像添加新标签,具体步骤如下:
- 首先获取目标镜像的manifest信息(替换你的账号、区域、仓库名和原有标签):
aws ecr batch-get-image \ --repository-name prod-my \ --image-ids imageTag=1.2 \ --query 'images[0].imageManifest' \ --output text > image_manifest.json
- 然后将获取到的manifest重新推送为新标签(这里是
latest):
aws ecr put-image \ --repository-name prod-my \ --image-tag latest \ --image-manifest file://image_manifest.json
执行完这两个命令后,你的ECR仓库里的prod-my镜像就会同时拥有1.2和latest两个标签,原有标签不会被覆盖或删除。
内容的提问来源于stack exchange,提问作者whitebear
相关产品推荐
相关产品推荐

