如何使用 Docker 创建 Nodejs 容器?
2018-02-11 by dongnan
目标
创建一个 Node.js
容器,并运行 node
应用程序;
环境
Docker 1.13.1 On CentOS 7.3
部署
- 下载镜像,
docker pull nodejs:9-apline
- 创建容器,
docker run --name test-node -tid node:9-alpine
- 容器控制台,
docker exec -ti test-node /bin/sh
- node 版本,
~ # node -v
v9.5.0
验证
创建一个 Node.js
web应用;
代码
~ # cat server.js
var http = require('http');
http.createServer(function (request, response) {
// 发送 HTTP 头部
// HTTP 状态值: 200 : OK
// 内容类型: text/plain
response.writeHead(200, {'Content-Type': 'text/plain'});
// 发送响应数据 "Hello World"
response.end('Hello World\n');
}).listen(8888);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/
示例详解
示例 Node.js
应用是由以下3个部分组成的:
- 引入
required
模块:我们可以使用require
指令来载入Node.js
模块。 - 创建服务器:服务器可以监听客户端的请求,类似于
Apache
、Nginx
等HTTP
服务器。 - 接收请求与响应请求 服务器很容易创建,客户端可以使用浏览器或终端发送
HTTP
请求,服务器接收请求后返回响应数据。 - 启动应用,
~ # node server.js
- 访问应用 (容器的IP)
~ # curl http://172.17.0.2:8888
扩展
进一步可以考虑两方面,
- 如何使用
dockerfile
设计一个适合自己项目的自定义node.js
镜像。 - 如何使用
docker-compose
编排Node.js
应用。