nginxのイメージをECRのリポジトリに登録してECSでデプロイするまで
最近ECR、ECSまわりを触るようになったので、その流れを書き留めておく。
はじめに
ディレクトリ構成
nginx/ ├── Dockerfile └── content └── index.html
Dockerfile
FROM nginx COPY content /usr/share/nginx/html
index.html
<!DOCTYPE HTML> <html lang=”ja”> <head> <title>Hello, World</title> </head> <body> <h1>Hello, World</h1> </body> </html>
local確認
$ docker run -p 80:80 -d --name nginx0 nginx-ecs
後始末
$ docker stop nginx0 $ docker rm nginx0
ECRに登録するまで
ログイン
$ aws ecr get-login-password --region ap-northeast-1 --profile my_project | \ docker login --username AWS --password-stdin {account_id}.dkr.ecr.ap-northeast-1.amazonaws.com
リポジトリ作成
$ aws ecr create-repository --repository-name nginx-ecs \ --image-scanning-configuration scanOnPush=true \ --region ap-northeast-1 --profile my_project
タグ付け
$ docker tag nginx-ecs:latest {account_id}.dkr.ecr.ap-northeast-1.amazonaws.com/nginx-ecs:latest
プッシュ
docker push {account_id}.dkr.ecr.ap-northeast-1.amazonaws.com/nginx-ecs:latest
イメージの存在確認
$ aws ecr list-images --repository-name nginx-ecs --region ap-northeast-1
ECSでデプロイするまで
クラスタ作成
タスク作成
タスクの実行
まとめ
後で見返してわかるか不安になっていたら、とてもわかり易いブログを見つけてしまったという落ち。 kleinblog.net