我在AWS ECR上有一个专用的Docker存储库。
我正在按照https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-retag.html
的说明尝试使用新标签为现有图像添加标签例如,假设我有一个带有标签“ 1.5.0”的图像,现在我想通过使用上述方法对标签“ 1.5.0”的“ batch-get-image”添加标签“ lts”。 ”,然后将“ put-image”和“ image-tag”“ lts”一起使用,该命令会在存储库中使用标签“ lts”创建一个全新的映像。原始图像“ 1.5.0”不受影响。
代码:
MANIFEST=$(aws ecr batch-get-image --region eu-west-1 --repository-name mynamespace/repo --image-ids imageTag='1.5.0' --query 'images[].imageManifest' --output text)
aws ecr put-image --region eu-west-1 --repository-name mynamespace/repo --image-tag lts --image-manifest "$MANIFEST"
上面的结果产生了两个单独的图像:
我要一张图片:
有什么主意我做错了吗?存储库设置已禁用不变性。
我宁愿避免使用docker pull
,docker tag
,docker push
方法,因为它将在我的CI服务器(Github Actions)上的单独工作流中运行,其中docker pull
将一个非常浪费的命令。