创建文件夹:
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 和 npmRUN 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