前提
Point AWSアカウント作成済み Dockerインストール済み(Docker version 17.12.0-ce, build c97c6d6) AWC-cliセットアップ済み ECRへのログイン まずは、以下のコマンド でAWS-cliを利用してECRへログインするための情報 を取得しましょう。command aws ecr get-login --region us-west-2 --registry-ids 137112412989 --no-include-email
以下のようなログ が表示されれば成功 です。log docker login -u AWS -p { パスワードトークン文字列}== https://137112412989.dkr.ecr.us-west-2.amazonaws.com
エラーが出た場合 以下のようなエラー が出た場合は、利用しているIAMユーザー に対して、ECRのGetAuthorizationToken操作の権限が無い のが原因です。error An error occurred ( AccessDeniedException) when calling the GetAuthorizationToken operation: User: arn:aws:iam::xxxxxxxxxxx:user/{ ユーザー名} is not authorized to perform: ecr:GetAuthorizationToken on resource: *
なので、AWSマネジメントコンソール にて対象のIAMユーザーにECRへの読み取りPolicyを追加しましょう。※筆者はFullAccessを付与していますが、しっかりと検討して付与してください
もう一度同じコマンド を実行すると、正常 に実行が出来ると思います。
Dockerハブへのログイン 次に、表示されたコマンド をそのままコピペ して実行しましょう。以下のようなログ が出ればECRへのログインが成功 です。log
コンテナイメージの取得 次にコンテナイメージを取得 します。以下のコマンド を実行してください。command docker pull 137112412989.dkr.ecr.us-west-2.amazonaws.com/amazonlinux:latest
すると、ダウンロードが始まる ので、少し待つと以下のようにログ が出てダウンロードが完了 します。log latest: Pulling from amazonlinux
a98bda1414b5: Pull complete
Digest: sha256:3cce96b8e3e80f0fa3cf04db895231048800a0cb04944488f2aaf3ce6659b66f
Status: Downloaded newer image for 137112412989.dkr.ecr.us-west-2.amazonaws.com/amazonlinux:latest
確認 では、実際にコンテナを起動 してみましょう。以下のコマンド を実行してください。command docker run -it 137112412989.dkr.ecr.us-west-2.amazonaws.com/amazonlinux:latest /bin/bash
お、正常 に入れましたね。 では以下のコマンド でシステム情報 を確認してみましょう。command
こちらも正常 に表示されましたね。
log Amazon Linux AMI release 2016.09 AWSのアカウント さえあれば、簡単 にローカルマシンのDocker環境 にEC2を構築 することが出来ました。
これでEC2を起動せず に、デプロイ や構成管理のテスト を手軽に行うことが可能になるので、是非利用してみてください。