- 首先,建立 package.json
- 使用 Express 建立簡單的 web server
- 增加一個 Dockerfile
- 在 Dockerfile 中寫入以下資訊
- Building your image
- 確認 image 已經建立完成
- 透過 docker run 執行
{
"name": "docker_web_app",
"version": "1.0.0",
"description": "Node.js on Docker",
"author": "First Last ",
"main": "server.js",
"dependencies": {
"express": "^4.13.3"
}
}
'use strict';
const express = require('express');
// Constants
const PORT = 8080;
// App
const app = express();
app.get('/', function (req, res) {
res.send('Hello world\n');
});
app.listen(PORT);
console.log('Running on http://localhost:' + PORT);
touch Dockerfile
FROM node:argon
# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# Install app dependencies
COPY package.json /usr/src/app/
RUN npm install
# Bundle app source
COPY . /usr/src/app
EXPOSE 8080
CMD [ "npm", "start" ]
Dockerfile 是 docker 用來 build image 的參考檔案。裡面會包含多個 commands,Docker 在 build image 的時候,會照著裡面所列的步驟一步一步執行。詳細的指令可以參考 Docker 官方網站的 Dockerfile reference。
docker build -t /node-web-app .
docker images
docker run -p 49160:8080 -d /node-web-app