码头工人登录未知标志:--no-include-email

时间:2019-01-14 17:48:57

标签: amazon-web-services docker command-line-interface

我正在尝试(但未通过)对Docker进行AWS ECR身份验证。我已经通过AWS CLI aws ecr get-login命令生成了我的AWS令牌,并提供了以下内容:

docker login -u AWS -p <token> --no-include-email https://***.dkr.ecr.eu-central-1.amazonaws.com

但是,当我执行此命令时,我得到unknown flag : --no-include-email

我已经阅读了很多有关该主题的文章,似乎都说这是一个版本问题,因为引入了--no-include-email标志来代替不推荐使用的-e none标志。我正在运行以下版本: Docker version 18.03.0-ce, build 0520e24302AWS CLI 1.16.88Python 3.6.0,以及 Windows 7 x64

我什至通过pip安装AWS CLI并使用pip install --user --upgrade awscli检查升级版本,甚至仔细检查了我最初的AWS CLI安装。

我最初遇到的错误是docker login unknown shorthand flag: 'e'

一切都是最新的。

在这里可能值得注意的是,我正在通过标准credentials file

向AWS进行身份验证
[default]
aws_access_key_id = ***
aws_secret_access_key = ***

我想念什么?

2 个答案:

答案 0 :(得分:2)

这对我适用于AWS CLI版本2:
docker login --username AWS -p $(aws ecr get-login-password) <aws-ecr-url>

答案 1 :(得分:1)

--no-include-email标志是一个AWS CLI标志,而不是docker标志。要使用它,请将其添加到您的get-login通话中:

$ aws ecr get-login --no-include-email
docker login -u AWS -p ey...V9 https://123456789.dkr.ecr.us-east-1.amazonaws.com

尝试比较有无--no-include-email标志。您会注意到,使用--no-include-email会忽略输出的-e none部分。您可以复制/粘贴给定命令以登录docker。要保存副本/粘贴,请使用以下命令登录:

eval "$(aws ecr get-login --no-include-email)"