尝试登录ECR失败,并显示-no-include-email错误

时间:2017-10-19 17:44:45

标签: docker amazon-ec2

我正在使用此命令登录我的EC2上的docker

$(aws ecr get-login --registry-ids xxxxxxx --region us-west-1 --no-include-email)

当我这样做时,我得到以下错误:

Unknown options: --no-include-email

我错过了什么?

5 个答案:

答案 0 :(得分:13)

以上描述是正确的,步骤如下:

  1. sudo apt install awscli
  2. sudo apt-get install python3-pip
  3. sudo pip3 install --upgrade awscli
  4. 参考:https://github.com/aws/aws-cli/issues/2676

答案 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

如果您使用自制软件,则可能需要使用pip3pip2

答案 3 :(得分:0)

您可以尝试以下步骤。它对我有用。

  1. aws ecr get-login

    生成的输出是一个docker login命令,您可以使用该命令对Docker客户端进行ECR注册表身份验证。

    示例输出::docker login -u AWS -p [您的密码] -e none https:// [您的aws_account_id ] .dkr.ecr。[您的区域]。amazonaws.com

  2. 然后从上面的输出中删除“ -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

希望有帮助!