Amazon 已经详细记录了如何使用 AWS CLI 允许 docker 对 Amazon ECR 注册表进行身份验证。
但是,get-login
现在已弃用。您将需要get-login-password
改用。
他们在他们的文档中指出,您可以将身份验证令牌传递给 docker login 命令。您还需要指定要对其进行身份验证的 Amazon ECR 注册表 URI。
例如
$ aws ecr get-login-password --region us-east-1 \
| docker login --username AWS --password-stdin \
123456789012.dkr.ecr.us-east-1.amazonaws.com
然后我可以根据registry/repository[:tag]
.
Registry是您的帐户 ID 和区域 ECR 端点的组合,例如:
123456789012.dkr.ecr.us-east-1.amazonaws.com
Repository是存储图像的位置的名称,例如:
myrepo
标签是通常的图像元数据,例如:latest
下面是一个验证和拉取图像的完整示例:
$ aws ecr get-login-password --region ap-southeast-2 \
| docker login --username AWS --password-stdin \
123456789012.dkr.ecr.ap-southeast-2.amazonaws.com
$ docker pull 123456789012.dkr.ecr.ap-southeast-2.amazonaws.com/myrepo:latest
latest: Pulling from myrepo
5bed26d33875: Pull complete
Digest: sha256:aabbccdd
Status: Downloaded newer image for 123456789012.dkr.ecr.ap-southeast-2.amazonaws.com/myrepo:latest
123456789012.dkr.ecr.ap-southeast-2.amazonaws.com/myrepo:latest