docker登录未知速记标志:'e'

Chr*_*ris 116 amazon-ecs docker

我刚刚更新了我的docker版本并找到了该命令

aws ecr get-login
Run Code Online (Sandbox Code Playgroud)

不再工作了.得到错误:

未知的速记标志:'e'在-e`中.似乎docker不再支持-e标志了.

有没有办法来解决这个问题?

已安装的版本:

aws-cli/1.11.111 Python/2.7.10 Darwin/16.6.0 botocore/1.5.74

Docker version 17.06.0-ce-rc5, build b7e4173
Run Code Online (Sandbox Code Playgroud)

Sco*_*and 191

将此添加到您的通话中

--no-include-email
Run Code Online (Sandbox Code Playgroud)

这是新的有效语法:

aws ecr get-login   ${normal_params_here}   --no-include-email
aws ecr get-login   --region us-east-1      --no-include-email  # for example
Run Code Online (Sandbox Code Playgroud)

从2017年5月23日发布的版本1.11.91开始,AWS CLI中提供了此新选项...请执行此升级:

pip install --upgrade awscli
Run Code Online (Sandbox Code Playgroud)

看这里的细节

https://github.com/docker/for-mac/issues/1762

https://github.com/aws/aws-cli/issues/1926

报价 :

"你应该 在2017年5月23日左右收到 来自亚马逊的关于与[Docker] 17.06.0兼容的新--no-include-email标志的电子邮件通知aws ecr get-login "

  • 请注意,这可能需要将`aws` cli更新到最新版本. (4认同)
  • sudo pip install --upgrade awscli (3认同)

ama*_*zia 18

如果由于某种原因你不能升级awscli版本,你可以做一些字符串操作,使它适用于sed.

例如:

$(aws ecr get-login --region eu-central-1 | sed -e 's/-e none//g')
Run Code Online (Sandbox Code Playgroud)

这将删除不支持的-e标志,您应该能够登录.


小智 7

我有同样的问题,但斯科特斯坦斯兰德的答案没有解决它.

如果它发生在其他人身上,从命令中删除'-e none'可以解决问题.