ECRへのログイン
通常、ECRへのDockerイメージのPushは、ECRリポジトリ管理画面の「プッシュコマンドの表示」から行えます。
この中に、
- リポジトリへのログイン
- Dockerイメージのビルド
- Dockerイメージへのタグ付け
- ECRリポジトリへイメージPush
という手順が示されていますが、Windowsの場合、最のリポジトリへのログインが、PowerShellになってます。
AWS Tools for PowerShell
Windows PowerShell 用 AWS Tools を使用すると、デベロッパーと管理者が AWS のサービスとリソースを PowerShell スクリプト環境で管理できます。Windows、Linux、MacOS 環境の管理に使用するのと同じ PowerShell ツールを使用して、AWS リソースを管理できるようになりました。
となってます。そう、これは、あくまでPowerShell用であって、Windows版 AWS Cliとは別物なのです。
正直、AWS Cliだけで完結したいですよね。
AWS Cliで最初のログインを突破する
これさえできれば、このあとは、dockerコマンドのみでいけるのです。
ということで、AWS Cliコマンドのみでやる方法ですが、実に簡単です。
PowerShell版
(Get-ECRLoginCommand).Password | docker login --username AWS --password-stdin {AWSアカウントID}.dkr.ecr.{リージョン}.amazonaws.com
AWS Cli版
aws ecr get-login-password | docker login --username AWS --password-stdin {AWSアカウントID}.dkr.ecr.{リージョン}.amazonaws.com
単純に、現在使用しているAWSアカウントでの、ECRのパスワードを標準出力経由で、docker login
コマンドに渡してあげればいいだけです。