web-dev-qa-db-ja.com

docker login unknownの短縮形のフラグ: 'e'

Dockerのバージョンを更新したところ、そのコマンドが見つかりました

aws ecr get-login

もう動作していません。エラーが発生しました:

未知の速記フラグ: 'e' in -e`。 dockerはもう-e flagをサポートしていないようです。

これを修正する方法はありますか?

インストールされているバージョン

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
105
Chris

これをあなたの電話に加える

--no-include-email

これが新しい有効な構文です。

aws ecr get-login   ${normal_params_here}   --no-include-email
aws ecr get-login   --region us-east-1      --no-include-email  # for example

この新しいオプションは、2017年5月23日にリリースされたバージョン1.11.91の時点でAWS CLIで使用可能です...アップグレードするにはこれを発行してください:

pip install --upgrade awscli

詳細はこちら

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

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

引用する:

「[Docker] 17.06.0との互換性のため、--no-include-emailの新しいaws ecr get-loginフラグについて、 AmazonからのEメール通知 2017年5月23日頃に受信しているはずです。 "

174
Scott Stensland

何らかの理由でawscliバージョンをアップグレードできない場合は、sedでそれを機能させるために少し文字列操作を行うことができます。

例えば:

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

これにより、サポートされていない-eフラグがドロップされ、ログインできるようになります。

18
amazia

私は同じ問題を抱えていたが、Scott Stenslandの答えがそれを解決しなかった。

他の人に起こる可能性がある場合は、コマンドから「-e none」を削除すると問題が解決しました。

6
Asafm

ログインステートメントを実行します。

aws ecr get-login --region us-west-2

次に、結果のステートメントからフラグと値-e noneを削除します。だから、あなたが実行したものは...のようになります...

docker login -u AWS -p <long password hash> https://<image ID>.dkr.ecr.us-west-2.amazonaws.com 
0
openwonk