aws

【AWS】ECRの使い方とは?DockerイメージをECRにpushしてみる

こんにちは、フルスタックエンジニアのryuです。

今回の記事は、AWSのECRの使い方を解説します。ECRはAWS上でDockerイメージを保存するサービスです。ローカル環境でDockerイメージを作成して、ECRにpushする方法を解説します。

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

【AWS】ECRの使い方とは?

ECRってどうやって使うの?

今回の記事は、AWSのECRの使い方を解説します。

ECRとは、Elastic Container Registryの略で、AWS上でDockerイメージを保存するサービスです。DockerHubと同じようなサービスです。

DockerイメージをAWS上にデプロイするために、ECRにDockerイメージを保存すると楽にデプロイできます。

今回は、ローカル環境でDockerイメージを作成してECRにpushする方法を解説します。

ECRにpushするDockerイメージを作成する

まずはECRにpushするためのDockerイメージを作成しましょう。

Dockerイメージを作成するためには、ローカル環境でDockerをインストールする必要があります。Dockerの使い方が分からない方はこちらの記事を参考にしてください。

【初心者向け】Dockerの環境をセットアップしてみよう!【Docker入門②】 (engineer-ninaritai.com)

環境のセットアップが完了したら、Dockerfileを作成して、ビルドします。Dockerfileの作り方はこちらの記事を参考にしてください。

【初心者向け】Dockerファイルとは?書き方を解説【Docker入門④】 (engineer-ninaritai.com)

今回は、ECRの使い方をメインで解説するので、Dockerfileはイメージ名だけ指定します。以下のような内容でDockerfileを作成しましょう。

FROM nginx

AWSでECRを作成する

Dockerのイメージが準備できたら、AWSでECRを作成します。AWSのコンソール画面へ移動しましょう。

ECRのリポジトリを作成する

まずはECRを作成しましょう。

コンソール画面で「ECR」と検索したら、「Elastic Conteiner Service」を選択します。

ECRの作成

次に、画面左側のECRのリポジトリを選択します。

ECRの選択

そして、画面右上の「リポジトリ作成」をクリックします。

ECRリポジトリを作成

ECRリポジトリの設定

次にリポジトリの設定です。

リポジトリの作成画面に移動したら、「可視性設定」と「リポジトリ名」を設定します。

ECRの設定

可視性設定では、Dockerイメージを公開するのか非公開にするのかを選択します。

残りの設定はデフォルトで大丈夫です。画面の下に移動し、「リポジトリを作成」をクリックします。

リポジトリを作成

DockerイメージをECRへpushする

ECRのリポジトリを作成したら、Dockerイメージをpushします。pushする方法は、AWS上にコマンドが記載されているので簡単です。

ECRへのプッシュコマンドを表示

まず、作成したリポジトリを選択しましょう。

画面右上に「プッシュコマンドの表示」があるのでそこをクリックします。

すると、Dockerイメージをpushする手順が表示されるので、このコマンドをひとつずつ入力すれば完了です。

このコマンドを入力するときは、先ほど作成したDockerfileのディレクトリで実施しましょう!

ECRの使い方まとめ

今回の記事では、AWSのECRの使い方について解説しました。

Dockerイメージを作成して、AWS上にpushするだけです。ECRはECSやFargateなどAWSのコンテナ技術を使うときに使用するので是非覚えておきましょう!

このようなAWSの小ネタを投稿していくので、その他の記事にも興味ある方はこちらからご覧ください。

aws | インフラエンジニアになりたくて。 (engineer-ninaritai.com)

さらにAWSについて学びたいという方は、こちらの講座がオススメです。初心者の方向けにAWSについて幅広く学ぶことが可能です。

AWS認定ソリューションアーキテクト アソシエイト試験突破講座 – 初心者向け20時間完全コース-

こちらの参考書もオススメです。

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
大手企業→上場ベンチャー→スタートアップでエンジニアをしていました。 インフラエンジニア歴10年以上。 Linuxやネットワークの学習ができるサービスInfraAcademyを運営中。
RELATED POST