我无法将 Docker 映像推送到 AWS ecr

时间:2021-02-04 18:07:45

标签: amazon-web-services docker amazon-ecs amazon-ecr

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

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

出现错误:

<块引用>

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

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

~/.aws/configure:

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

~/.aws/credentials

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

似乎命令 api 获取其他用户“albertosanmartin”

有人可以帮我吗? 提前致谢。

1 个答案:

答案 0 :(得分:0)

如果您在 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 调用仔细检查您的凭据。