🍞
aws ECR 登録する手順
概要:
aws ECR 登録する メモとなります。
-
aws-cli, dockerは準備されている事が前提になります。
-
expressコンテナを、pushする例になります。
-
ポート番号は、3000番を使います
構成
- aws ECR
- docker
- express
関連
参考のコード
準備
-
IAM で、ユーザー作成
-
権限は、AdministratorAccess 追加しました
-
アクセスキー、シークレットキー をメモ
-
aws configure (設定済の方は、読み飛ばして下さい)
-
region : es-east-1 の例です
AWS Access Key ID [None]: {アクセスキー(各自)}
AWS Secret Access Key [None]: {シークレットアクセスキー(各自)}
Default region name [None]: es-east-1
Default output format [None]: json
-
Amazon ECR > リポジトリ, リポジトリの作成
-
リポジトリ名を、入力
-
暗号化設定: KMS : 有効
express環境の準備
-
上記のgist 参考
-
Dockerfile
FROM node:14.15.4
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD [ "node", "server.js" ]
- server.js
server.js
'use strict';
const express = require('express');
// Constants
const PORT = 3000;
const HOST = '0.0.0.0';
// App
const app = express();
app.get('/', (req, res) => {
res.send('Hello World-123');
});
app.listen(PORT, HOST);
console.log(`Running on http://${HOST}:${PORT}`);
- package.json
{
"name": "express_app",
"version": "1.0.0",
"description": "Node.js on Docker",
"author": "First Last",
"main": "server.js",
"scripts": {
"start": "node server.js"
},
"dependencies": {
"express": "^4.16.1"
}
}
- .dockerignore
node_modules
npm-debug.log
- 試しにローカル起動
docker build -t express-ecs-repo .
### run
sudo docker run -it -p 3000:3000 express-ecs-repo
localhost:3000/ が開ければ、確認OK
ECR > リポジトリ > 追加したrepo
- プッシュコマンドの表示、押す
-
aws ecr get-login-password --region us-east-1 ... , の部分実行
-
エラーの場合、下記を試す (aws ecr get-login ...)
-
docker loginのコマンド コピーする
-
docker loginのコマンド実行、最後に Login Succeeded 表示されるとOK
aws ecr get-login --no-include-email --region us-east-1
docker login -u AWS -p xxxx== https://XXXX.dkr.ecr.us-east-1.amazonaws.com
#
docker login -u AWS -p xxxx== https://XXXX.dkr.ecr.us-east-1.amazonaws.com
Login Succeeded
- docker build
docker build -t express-ecs-repo .
- tag-add
docker tag express-ecs-repo:latest XXXX.dkr.ecr.us-east-1.amazonaws.com/express-ecs-repo:latest
- push
docker push XXXX.dkr.ecr.us-east-1.amazonaws.com/express-ecs-repo:latest
- 完了したら、
ECR > レポジトリ > repo選択 で、イメージが表示されると完了
....
Discussion