【ECR】はじめての「リポジトリ作成〜Dockerイメージのプッシュ」までを解説

ecr-begginer-top AWS
スポンサーリンク

ECRとは、「AWSが管理するコンテナイメージレジストリサービス」。

「リポジトリの作成」〜「Dockerイメージのプッシュ」までの手順を解説します。

スポンサーリンク

ECRリポジトリを作成する

AWS管理コンソールからECRリポジトリを作成する。

ECRリポジトリの作成
ECRリポジトリ作成手順
  • 可視性設定を「プライベート」にする。

    今回はプライベートリポジトリとして作成します。イメージのスキャンなどもしたいため!

  • リポジトリ名に適当な名前を付ける。今回は「study-infra」。

  • イメージスキャンの設定を「有効」にする。

    イメージプッシュ時にCVEに元づく脆弱性のスキャンをチェックしてくれる。(脆弱性を自動的に修正してくれるわけではないので注意!)

  • 暗号化設定を「有効」にする。

    セキュリティ対策の1つとしてイメージを暗号化する。今回は独自のキーを使用しないでAWS管理のキーを使用する。

  • リポジトリを作成する。

Dockerイメージを作成してECRリポジトリにプッシュする

1.Dockerの向き先をECRにする。

$ aws ecr get-login-password --profile switch-role-to-system-admin --region [リージョン] | docker login --username AWS --password-stdin [AWSアカウントID].dkr.ecr.[リージョン].amazonaws.com

2.Dockerイメージを作成する。

$ cat Dockerfile
===
FROM ruby:3.0.0-alpine3.12
RUN echo "test"
===

$ docker build -t study-infra .

3.作成したDockerイメージにタグを付ける。

$ docker tag study-infra:latest [AWSアカウントID].dkr.ecr.[リージョン].amazonaws.com/study-infra:latest

★コマンドの意味!

ローカルの「stduy-infra:latest」イメージに対して、リポジトリ名を「[AWSアカウントID].dkr.ecr.[リージョン].amazonaws.com/study-infra」、タグ名を「latest」として登録する。

4.ECRリポジトリにプッシュする。

$ docker push [AWSアカウントID].dkr.ecr.[リージョン].amazonaws.com/study-infra:latest

★コマンドの意味!

「[AWSアカウントID].dkr.ecr.[リージョン].amazonaws.com/study-infra:latest」とタグ付けされたイメージをECRリポジトリにプッシュする。(1の作業でECRリポジトリにログインしていないとプッシュできないので注意!)

5.ECRにプッシュされていることを確認する。

ECRにプッシュされたイメージの確認

手順は以上です。ご参考まで!

プロフィール
この記事を書いた人
katsuya

SESからキャリアをスタートし、現在はフリーランスとして活動しています。フリーランスになってから6年で年収1,000万円を達成しました。「Study Infra」では、今までの経験やITインフラに関する情報を発信中です。

katsuyaをフォローする
AWSECR
スポンサーリンク
シェアする
katsuyaをフォローする

コメント

タイトルとURLをコピーしました