我在 AWS ECR 上有一个私有 Docker 存储库。
我正在尝试使用此处的说明使用新标签来标记现有图像https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-retag.html
例如,假设我有一个带有标签“1.5.0”的图像,现在我想添加标签“lts”,通过使用上面的方法来“batch-get-image”标签“1.5.0”,并且然后“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)
Run Code Online (Sandbox Code Playgroud)
aws ecr put-image --region eu-west-1 --repository-name mynamespace/repo --image-tag lts --image-manifest "$MANIFEST"
Run Code Online (Sandbox Code Playgroud)
上面的结果是两个独立的图像:
我想要 1 张图片:
有什么想法我做错了吗?存储库设置已禁用不变性。
我宁愿避免docker pull, docker tag,docker push方法,因为这将在我的 CI 服务器(Github Actions)上以单独的工作流程运行,这docker pull将是一个非常浪费的命令。