DockerhubにjsファイルをpushしECSでログを表示させるまでの過程を説明します。
#1. 実行するフォルダ作成
cd desktop
mkdir js-docker
cd js-docker
npm init (Enterの連打)
npm install
touch Dockerfile
作成したフォルダ『js-docker』を開いてjsファイルを作成してください。
js-docker
|- index.js
|- Dockerfile
|-package.json
FROM node:14.4.0-buster
# Create app directory
WORKDIR /usr/src/app
# Install app dependencies (package.json and package-lock.json)
COPY package*.json ./
RUN npm install
# Bundle app source (server.js)
COPY . .
# Listen port
EXPOSE 8080
# Run Node.js
CMD [ "node", "index.js" ]
{
"name": "hello",
"version": "1.0.0",
"description": "Node.js on Docker",
"main": "server.js",
"scripts": {
"start": "node server.js"
},
"dependencies": {
"express": "4.17.1"
}
}
入力後 npm install
console.log("hello")
ひとまず「Hello」と表示させます
#2. Dockerにイメージを作成
本来はこちらでBuildするようですが。。。
docker build -t docker-js .
M1macを消していて、AWSのECSで使用する際にエラーが出たのでこちらでBuildしました。
docker build --platform amd64 -t docker-js .
これを実行するとデスクトップのDockerのimagesに表示されます。
確認してみましょう!
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker-js latest 4b4fd40e9d9c About a minute ago 861MB
追加されています!
docker run docker-js
=> hello
大丈夫そうです!
#3. Docker hubにpush
次にDocker hubにpushします。
docker tag 9374g689ss65 takeshi/docker-js:latest
docker push takeshi/docker-js
Dockerhubにログインすると現在pushしたものが追加されています。
docker run takeshi/docker-js
これでうまく動きますと成功しています!
#おまけ M1 mac docker error: exec user process caused "exec format error" の解決策
ECSでエラーが起こった際にこちらの記事で解決しました。
#おまけ docker環境構築
初心者なのでDockerの環境構築から始めます。
Docker Desktopのダウンロード
#参考にしたもの
jsを動かせた記事
その他