我正在使用此命令登录我的EC2上的docker
$(aws ecr get-login --registry-ids xxxxxxx --region us-west-1 --no-include-email)
当我这样做时,我得到以下错误:
Unknown options: --no-include-email
我错过了什么?
答案 0 :(得分:13)
以上描述是正确的,步骤如下:
sudo apt install awscli
sudo apt-get install python3-pip
sudo pip3 install --upgrade awscli
答案 1 :(得分:12)
已经给出了答案,但是 aws-cli v2 无法正常工作,因此发布为答案可能会对其他人有所帮助
$(aws ecr get-login --no-include-email --region us-west-2)
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:
要使用 aws-cli V2 获取登录令牌,可以尝试
aws ecr get-login-password | docker login --username AWS --password-stdin 1234567890.dkr.ecr.us-west-2.amazonaws.com/reponame
要安装AWS-CLI V2,您可以选中here
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
答案 2 :(得分:4)
您可能正在使用旧版CLI工具。使用较新版本的docker(17.09)和aws-cli(1.11.117&amp; 1.11.173)我没有收到此错误
请参阅此处的说明:http://docs.aws.amazon.com/AmazonECR/latest/userguide/ECR_AWSCLI.html#AWSCLI_get-login
http://docs.aws.amazon.com/cli/latest/reference/ecr/get-login.html
pip install --upgrade --user awscli
如果您使用自制软件,则可能需要使用pip3
或pip2
答案 3 :(得分:0)
您可以尝试以下步骤。它对我有用。
aws ecr get-login
生成的输出是一个docker login命令,您可以使用该命令对Docker客户端进行ECR注册表身份验证。
示例输出::docker login -u AWS -p [您的密码] -e none https:// [您的aws_account_id ] .dkr.ecr。[您的区域]。amazonaws.com
然后从上面的输出中删除“ -e none”并运行其余命令。
您将能够成功登录。
答案 4 :(得分:0)
尝试使用awscli
v2(但仍适用于1.9.0
)
aws ecr get-login-password --region ap-northeast-1 --profile your-profile | docker login --username AWS --password-stdin <the_id>.dkr.ecr.ap-northeast-1.amazonaws.com/<repo_name>
您可以更改:
region
profile
(如果您在计算机上配置了多个AWS配置文件)。the_id
是类似于12314311400
的数字repo_name
,例如:my-api-repo
希望有帮助!