建立文件夹:
mkdir ~/docker-node-hello && cd $_
建立 index.js
var express = require('express')
var app = express()
app.get('/', function (req, res) {
res.send('Hello World!')
})
var server = app.listen(3001, function () {
var host = server.address().address
var port = server.address().port
console.log('Example app listening at http://%s:%s', host, port)
})
建立 package.json
{
"name": "docker-node-hello",
"private": true,
"version": "0.0.1",
"description": "Node.js Hello world app on Ubuntu using docker",
"dependencies": {
"express": "4.x.x"
}
}
建立 Dockerfile 设置文件
# 设置基本镜像
FROM ubuntu:14.10
# 假如上个步骤已更新软件源,这步能够疏忽
RUN apt-get update
# 装置 NodeJS 和 npm
RUN apt-get install -y nodejs npm
# 将目次中的文件增加至镜像的 /srv/hello 目次中
ADD . /srv/hello
# 设置事情目次
WORKDIR /srv/hello
# 装置 Node 依靠库
RUN npm install
# 暴露 3001 端口,便于接见
EXPOSE 3001
# 设置启动时默许运转敕令
CMD ["nodejs”, “/srv/hello/index"]
构建镜像
# 经由过程该敕令,根据 Dockerfile 所设置的信息构建出镜像
# -t 镜像的称号
# --rm 构建胜利后,删除暂时镜像(每实行一行 Dockerfile 中的敕令,就会建立一个暂时镜像)
docker build --rm -t node-hello .
# 搜检镜像是不是建立胜利
docker images
运转镜像
docker run -p 3001:3001 --name nodejs1 node-hello