use*_*894 2 amazon-web-services docker amazon-ecr
我登录到 AWS ECR 存储库并触发了 pull 命令,但出现了此错误
# $(aws ecr get-login --no-include-email)
Login Succeeded
# docker pull 432354543235.dkr.ecr.us-east-1.amazonaws.com/abc-example:1.1.1
Pulling repository 432354543235.dkr.ecr.us-east-1.amazonaws.com/abc-example:1.1.1
unauthorized: authentication required
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
然后我可以根据 拉取图像registry/repository[:tag]。
注册表是您的帐户 ID 和区域 ECR 端点的组合,例如:
123456789012.dkr.ecr.us-east-1.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
存储库是存储图像的位置的名称,例如:
myrepo
Run Code Online (Sandbox Code Playgroud)
Tag是通常的图像元数据,例如: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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8472 次 |
| 最近记录: |