Amazon ECRからイメージをpullするためにやる事

はじめに

業務でAmazon ECRに作成済みのイメージを取得する必要があり、この辺りの知識が全くなかったのでいろいろ調べた事をメモします。

Amazon ECRとは

そもそも何なのかもよくわからなかったので調べました。

Amazon Elastic Container Registry (Amazon ECR) は、安全性と信頼性に優れたスケーラブルなマネージド AWS Docker レジストリサービスです。Amazon ECR では、AWS IAM を使用してプライベート Docker リポジトリにリソースベースのアクセス権限が付与されるため、特定のユーザーまたは Amazon EC2 インスタンスからリポジトリとイメージにアクセスできるようになります。開発者は、Docker CLI を使用してイメージをプッシュ、プル、および管理できます

引用:Amazon ECR ユーザーガイド - Amazon Elastic Container Registry とは -

AWS上で管理可能なDockerHubのようなものという理解をしました。

Amazon ECRからイメージをpullする

まずAmazon ECRに接続するためには docker login を行う必要があります。 このコマンドは AWS CLI のコマンドを使うことで取得できます。

docs.aws.amazon.com

aws ecr get-login --no-include-email

上記コマンドを実行するためにまずは AWS CLI をインストールします。

$ brew install awscli


次に、IAM ユーザーのアクセスキー ID およびシークレットアクセスキーをAWSから取得し、aws configureコマンドを使ってインストールした AWS CLI に登録しておきます。

$ aws configure
AWS Access Key ID [None]: 取得したAccess Key
AWS Secret Access Key [None]: 取得したSecret Access Key
Default region name [None]: リージョン名
Default output format [None]: 出力形式(指定しない場合はjson)

docs.aws.amazon.com

完了後、下記コマンドを実行し認証用の docker login コマンドを取得し、取得したコマンド実行することで docker CLIから Amazon ECR に接続ができるようなります。

$ aws ecr get-login --no-include-email

出力:

docker login -u AWS -p password https://aws_account_id.dkr.ecr.us-east-1.amazonaws.com

ここまで成功したらいつも通り docker pull コマンドで必要なイメージをpull することが出来ました

$ docker pull 取得したいイメージ



以上です。

(まだ全然理解できていないので、間違いなどあったらご指摘ください。)