Docker ImageをAWS ECRにPush
ローカルでDockerを使って開発をして、いざ、AWS ECRにイメージをプッシュする際、AWS CLIでECRのリポジトリにログインする必要があります。
その方法を調べると以下のコマンドがよく紹介されています。
$ aws ecr get-login --no-include-email
しかし、これを実行すると、以下のようなエラーとなってしまいます。
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 CLIの仕様がv2から変わり、上記のコマンドの代わりに以下のコマンドを実行することでログインができるようになりました。
$ aws ecr get-login-password | docker login --username AWS --password-stdin <MY-REGISTRY-URL>
<MY-REGISTRY-URL
には、<AWSアカウントID>.dkr.ecr.us-west-2.amazonaws.com
を入れてやります。
また、--username
として AWS
が指定されていますが、ここはこのままでOKです。
これを実行してやると…
Login Succeeded
無事にログイン成功しました。
もし、これでだめでしたら、AWS CLIのConfig設定が済んでいない可能性があります。
こちらのリンクの方法でConfigが設定できているか確認しましょう。
【参考】AWS CLI設定の基本