ECR上的UI不允许将标记应用于图像。当您将图像推送到具有存在标记的ECR时,现有图像将如预期的那样被取消标记。但是,似乎没有下载无标记图像的方法。例如,我不能简单地下载图像哈希
docker pull myarn.amazonaws.com/sandbox:e226e9aaa12beb32bfe65c571cb60605b2de13338866bc832bba0e39f6819365
Error response from daemon: manifest for myarn.amazonaws.com/sandbox:e226e9aaa12beb32bfe65c571cb60605b2de13338866bc832bba0e39f6819365 not found发布于 2018-11-07 22:20:32
所以我发现了一种用户不友好的方法。首先标记一个未标记的图像,然后可以下载它。在这里,我将一个未标记的图像标记到backup
MANIFEST=$(aws ecr batch-get-image --repository-name sandbox --image-ids imageDigest=sha256:e226e9aaa12beb32bfe65c571cb60605b2de13338866bc832bba0e39f6819365 --query 'images[].imageManifest' --output text)
aws ecr put-image --repository-name sandbox --image-tag backup --image-manifest "$MANIFEST"然后我就可以正常下载了
docker pull myarn.amazonaws.com/sandbox:backup发布于 2020-05-12 14:51:12
您必须使用AWS最近在其UI中建议使用的另一个符号(该符号可能在那个时候不可用):
docker pull myarn.amazonaws.com/sandbox@sha256:e226e9aaa12beb32bfe65c571cb60605b2de13338866bc832bba0e39f6819365
至少它确实适用于我的无标记图像。
发布于 2021-04-19 21:24:53
假设1283761230897.dkr.ecr.us-east-1.amazonaws.com/my-repository的ECR存储库arn
若要提取未标记的停靠器图像,请使用可以从ECR存储库中复制的未标记图像(感谢@GyőzőPapp的回答),例如:
docker pull 1283761230897.dkr.ecr.us-east-1.amazonaws.com/my-repository@sha256:bee1809b6ab2918yfdjsajhf21398f41cfc2dcc69d27253若要删除它,请在任意标记中使用对接标记,下面的示例将其标记为my-new-tag
docker tag 1283761230897.dkr.ecr.us-east-1.amazonaws.com/my-repository@sha256:bee1809b6ab2918yfdjsajhf21398f41cfc2dcc69d27253 1283761230897.dkr.ecr.us-east-1.amazonaws.com/my-repository:my-new-tag然后将标记的版本推回AWS ECR:
docker push 1283761230897.dkr.ecr.us-east-1.amazonaws.com/my-repository:my-new-tag您需要首先使用先在本地登录ECR使用get-login .
https://stackoverflow.com/questions/53198759
复制相似问题