📝
ECR のイメージをダウンロード
手順の概要は次の通りです。
1.ECR に Docker でログインします。
2.イメージを ECR リポジトリからダウンロードします。
ECR にログイン
$ aws ecr get-login-password --region <region> --profile test | docker login --username AWS --password-stdin <aws_account_id>.dkr.ecr.<region>.amazonaws.com
Login Succeeded
Logging in with your password grants your terminal complete access to your account.
Login Succeeded が表示されたらログイン成功です。
コマンドオプション解説
aws ecr get-login-password
この部分で一時的な認証トークンを生成して一時的にECRにアクセスする形になります。トークン自体は--profileで指定したアクセスキーとシークレットキーを利用して生成されています。
--username AWS
このオプションはDockerでECRにログインする際に指定します。その場合、常にAWSと指定します。
--password-stdin
このオプションも変更する必要はなく、前半の(パイプの前部分)awsコマンドで生成した認証トークンを使用するという意味になります。
エラー
ここで以下のエラーが出たら Docker for Mac が起動しているか確認してください。
Error saving credentials: error storing credentials - err: exit status 1, out: `Post "http://ipc/registry/credstore-updated": dial unix /Users/example/Library/Containers/com.docker.docker/Data/backend.sock: connect: connection refused`
イメージをダウンロード
このコマンドを実行したディレクトリに何かファイルが作成されるということはなく、docker imageを実行するとイメージが表示されるので確認する際はdocker imageコマンドを実行してみましょう。
$ docker pull <aws_account_id>.dkr.ecr.<region>.amazonaws.com/<repository_name>:<tag>
Discussion