😽

No.3【AWS】ECS Fargate+CodePipeline - Dockerイメージ作成編

2023/04/04に公開

はじめに

この記事は以下の続きとなる。
https://zenn.dev/omizunomitaro/articles/8fc2a612a1199b
https://zenn.dev/omizunomitaro/articles/d9d360a15cc7f4

つまづきポイント

構築する環境

構築手順

CodeCommitでリポジトリを作成

手順は省略

ECRリポジトリ作成

手順は省略

WEBコンテンツの準備とDockerイメージの作成

  1. Cloud9にAWSコンソールからアクセスする。
  2. CodeCommitのリポジトリをCloneする。
$ git clone https://git-codecommit.<リージョン名>.com/v1/repos/リポジトリ名
  1. Cloneしたディレクトリ内に以下ファイルを作成する。
  2. 作成したファイルを以下のように編集する。
Dockerfile
FROM node:12
ADD ./server.js /usr/src/app/
CMD ["node", "/usr/src/app/server.js"]
server.js
const http = require('http');
const os = require('os')

http.createServer((req, res)=>{
    res.writeHead(200, {'Content-Type': 'text/plan'});
    res.end('Hello from HOST:' + os.hostname() + '\n');
}).listen(8080);
  1. Dockerイメージを作成する。
$ docker build -t node-sample .
  1. コンテナの動作確認をする。
//コンテナを起動
$ docker run -p 8080:8080 -d node-sample:latest
//コンテナ起動状況を確認する。
//dockerが正常に立ち上がらない場合はプログラムや手順に問題がないか確認する。
$ docker ps
//curlでコンテナが正常動作しているか確認する。
$ curl localhost:8080
Hello from HOST:570a8d5526da
  1. 作成したソースをCodeCommitにpushする。
    (あまりよくないがテストなのでmasterに直接pushする。)
git add .
git commit -m "コメント"
git push origin master
  1. 作成したDockerイメージをECRへpushする。
  • ECRにpushするための認証トークンを取得する。
aws ecr get-login-password --region <リージョン名> | docker login --username AWS --password-stdin <アカウントID>.dkr.ecr.<リージョン名>.amazonaws.com
  • push先のリポジトリ名を作成したイメージにタグ付する。
docker tag node-sample:latest <アカウントID>.dkr.ecr.<リージョン名>.amazonaws.com/node-sample:latest
  • Dockerイメージをpushする。
docker push <アカウントID>.dkr.ecr.<リージョン名>.amazonaws.com/node-sample:latest

Discussion