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
これをあなたの電話に加える
--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日頃に受信しているはずです。 "
何らかの理由でawscliバージョンをアップグレードできない場合は、sedでそれを機能させるために少し文字列操作を行うことができます。
例えば:
$(aws ecr get-login --region eu-central-1 | sed -e 's/-e none//g')
これにより、サポートされていない-eフラグがドロップされ、ログインできるようになります。
私は同じ問題を抱えていたが、Scott Stenslandの答えがそれを解決しなかった。
他の人に起こる可能性がある場合は、コマンドから「-e none」を削除すると問題が解決しました。
ログインステートメントを実行します。
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