4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS ECRにDockerイメージをプッシュしてみた

Last updated at Posted at 2025-03-17

はじめに

AWSの学びの記録です。暖かい目でみてください。

ECRにDockerイメージをプッシュする方法 について解説していきます。

書こうと思ったきっかけ

結論から言うと、「Fargateを使ってみたいから」です。
Fargateってなんやねん、と思った方、自分も同じです。これから勉強します。
とりあえずこの場はこちらの記事を紹介して逃げます

この記事は、Fargateを理解して使えることをゴールとした、初めの一歩です

ECRとは?

実は、Fargateを動かすにはECSが必要で、ECSのリポジトリのことをECRと言います。
ざっくり言うと、Dockerfileしか受け付けないAWS上のgitHubです。
ECRにDockerイメージを保存しておき、
ECSがFargateの中にDokcerコンテナを起動するらしいです。

例えるなら、冷凍肉まんですかね。
冷凍肉まんを買って冷凍庫に入れる = ECRにDockerイメージを保存
冷凍肉まんを電子レンジで温める = Fargate(電子レンジ)の中でECSがコンテナ起動
 ☑️ ECR(冷凍庫):冷凍肉まん(Dockerイメージ)を保存
 ☑️ ECS(あなた):冷凍庫から肉まんを取り出して準備
 ☑️ Fargate(電子レンジ):冷凍肉まんを温めてすぐ食べられる状態(コンテナ起動)にする

ちょっとお腹空いてきましたね。

ECRにDockerイメージをプッシュしてみる

下記の手順で進めます

  1. ECRにリポジトリを作成する
  2. Dockerファイルを作成する
  3. プッシュする

ではやっていきましょう。

1. ECRにリポジトリを作成する

1-1. コンソールにログインして ECRをクリック

スクリーンショット 2025-03-17 22.57.30.png

1-2. 「リポジトリを作成」をクリック

スクリーンショット 2025-03-18 0.38.26.png

1-3. リポジトリ名を入力して「作成」をクリック

スクリーンショット 2025-03-18 20.00.40.png

スクリーンショット 2025-03-18 20.00.13.png

1-4.作成できました

スクリーンショット 2025-03-18 0.39.47.png

2. Dockerファイルを作成する

2-1. リポジトリをクリック

スクリーンショット 2025-03-18 0.39.47.png

2-2. 画面左下のCloudShellをクリック

スクリーンショット 2025-03-18 0.49.46.png

2-3. Dockerfileとついでにindex.htmlを作成する

ディレクトリ構成
/
├─ Dockerfile
└─ html
      └─ index.html
Dockerfile
FROM nginx:latest
COPY ./html /usr/share/nginx/html
html/index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My Web App</title>
</head>
<body>
    <h1>Welcome to My Web App!!!!</h1>
</body>
</html>

できましたでしょうか?
スクリーンショット 2025-03-18 0.47.05.png

3. プッシュする

あとは簡単です。
プッシュコマンドを表示をクリックして、
OSに応じたタブを開いてコマンドをコピーして
CloudShellに貼り付け、実行するのを繰り返すだけです。

スクリーンショット 2025-03-17 23.38.58.png

イメージをプッシュできました!

スクリーンショット 2025-03-17 23.33.59.png

おまけ

今回はCloudShellを使用しましたが、
プッシュコマンドにあるようなawsコマンドを
ターミナルなどのローカルでも使用できる方法があります。

AWSのCLI(コマンドラインインターフェース)の設定をすれば可能です。
詳しくはこちらを読んでみてね

まとめ

AWS ECRにDockerイメージをプッシュしてみました。
意外と簡単だったでしょうか、それとも難しかったでしょうか。
自分はキャプチャ撮る時間と肉まんを語る時間がほぼ同じだったような...。

Fargateを使うまでの道のりは、まだこれからですね。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?