首页 > 解决方案 > 我无法将 Docker 映像推送到 AWS ecr

问题描述

我正在尝试从构建到 AWS ECR 的 Dockerfile 推送 Docker 映像,但是在运行此命令时:

$ aws ecr get-login-password --region eu-west-1 | docker login --username AWS --password-stdin 477629773586.dkr.ecr.eu-west-1.amazonaws.com 

出现错误:

调用 GetAuthorizationToken 操作时发生错误 (AccessDeniedException):用户:arn:aws:iam::477629773586:user/albertosanmartin 无权执行:ecr:GetAuthorizationToken on resource: * 错误:无法从非 TTY 执行交互式登录设备

我已经安装并配置了这些文件:

~/.aws/配置:

[default]
...
[mrthink]
region = eu-west-1
output = json

~/.aws/凭证

[default]
...
[mrthink]
aws_access_key_id = ****
aws_secret_access_key = ****

似乎命令 api get other user "albertosanmartin"

任何人都可以帮助我吗?提前致谢。

标签: amazon-web-servicesdockeramazon-ecsamazon-ecr

解决方案


如果您在配置mrthink文件名称下配置了凭据,~/.aws/credentials则需要将--profile 参数传递给 aws cli

$ aws  --profile mrthink ecr get-login-password \
--region eu-west-1 |\
docker login --username AWS \
--password-stdin 477629773586.dkr.ecr.eu-west-1.amazonaws.com 

用户arn:aws:iam::477629773586:user/albertosanmartin无权访问ECR

如果您想使用它们,您可以通过sts get-caller-identity调用仔细检查您的凭据。


推荐阅读