Ami*_*ari 5 amazon-web-services aws-cli aws-lambda aws-ecr
给出以下命令时出现以下错误。
aws ecr get-login --region eu-central-1
Run Code Online (Sandbox Code Playgroud)
错误
An error occurred (AccessDeniedException) when calling the GetAuthorizationToken operation: User: arn:aws:iam::314xxxx91079:user/git is not authorized to perform: ecr:GetAuthorizationToken on resource: *
Run Code Online (Sandbox Code Playgroud)
我的管理员已授予我访问此“GetAuthorizationToken”资源的权限。
很可能我认为问题是用于此命令的 'arn:aws:iam::314xxxx91079:user/git' 用户。当我登录到 aws 控制台时,我看到我的用户名 (IAM) 如下。
amit@iproxxx.com
Run Code Online (Sandbox Code Playgroud)
我如何让 'get-login' 使用这个用户名而不是 user/git。我对 aws cli 很陌生,这个命令恰好是构建步骤之一。
Mos*_*ted 17
对于较新版本,只需使用
aws ecr get-login-password \
--region us-east-1 | docker login \
--username AWS \
--password-stdin <account-id>.dkr.ecr.us-east-1.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
Rav*_*ish 11
使用较新版本的 AWS CLI,我们可以请求 ECR docker 登录密码,并将get-login-password密码通过管道传输到 Docker 登录,如下所示:
aws ecr get-login-password \
--region us-east-1 \
| docker login \
--username AWS \
--password-stdin 123456789101.dkr.ecr.us-east-1.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
文档:https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ecr/get-login-password.html
使用 CLI V2,以下语法将引发错误:
$(aws ecr get-login --no-include-email --region us-east-1)
Run Code Online (Sandbox Code Playgroud)
aws ecr get-login --no-include-email --region us-east-1
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:
aws help
aws <command> help
aws <command> <subcommand> help
aws: error: argument operation: Invalid choice, valid choices are:
Run Code Online (Sandbox Code Playgroud)
AWS cli 命令看起来不错,输出应该类似于下面
Sample output:
docker login -u AWS -p password https://aws_account_id.dkr.ecr.eu-central-1.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
请检查您是否正确设置了供 cli 使用的 AWS 凭证。
如果没有完成,请尝试以下配置凭据
aws configure
AWS Access Key ID [None]: Access Key
AWS Secret Access Key [None]: Secret Key
Default region name [None]: eu-central-1
Default output format [None]: json
Run Code Online (Sandbox Code Playgroud)
注意:这应该是您的默认配置文件,否则也为 ecr get-login 命令传递配置文件名称
aws ecr get-login --region eu-central-1 --profile <profile name>
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助 !!!
| 归档时间: |
|
| 查看次数: |
9820 次 |
| 最近记录: |