🐳
【Docker】ファイル実行できるNode.js環境を作る
はじまり
初めて、DockerでNode.js環境を作ったので備忘録も兼ねて書いておく。
行った環境は、Windows10です。
作業の流れ
全くの初めてだったので、やったことをおさらい。
Dockerfileの中身(対話だけ)
今回ファイル実行ができる環境を作りたかったのですが、最初にNode.js対話環境だけを作るDockerfileを作ってBuildしてしまい詰まったので、これはJavascriptを打てるけどファイル実行はできないよと、メモっておく。
Dockerfile
FROM node:14
EXPOSE 8888
Dockerfileの中身(ファイル実行も)
こちらのDockerfileの内容であれば、ファイル実行もできる。
Dockerfile
FROM ubuntu:latest
RUN apt-get update
RUN apt-get install nodejs -y
RUN apt-get install npm -y
RUN update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10
ADD package.json .
ADD index.js .
CMD npm run start
その他のファイル
以下、使ったファイルです。
package.json
{
"scripts": {
"start": "node index.js"
}
}
index.js
console.log("test OK!");
DockerのBuildとRun
Dockerfileの内容でBuildされる。DockerfileのCMD
はRunした時に実行される。
--it
は、-t
がないと仮想マシンを起動できず、-i
がないと起動した仮想マシンにコマンドを実行できなくなる。
--rm
は、コンテナを停止したときにコンテナが自動削除される。
Command Prompt
# DockerイメージをBuildする
docker build -t my-nodejs-app .
# Dockerイメージを起動する
docker run -it --rm --name my-running-app my-nodejs-app
Docker runの後
イメージに送ったファイルが実行されたことを確認。この画面を待っていた!!
ちなみに、DockerfileにCMD
を入れたら、対話せずにマシンが終了した。
おしまい
コンフォート・ゾーン広がった。
細かいことはこれから。
主な参考サイト
Discussion