跳转至

如何使用 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 模块。
  • 创建服务器:服务器可以监听客户端的请求,类似于 ApacheNginxHTTP 服务器。
  • 接收请求与响应请求 服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。
  • 启动应用, ~ # node server.js
  • 访问应用 (容器的IP) ~ # curl http://172.17.0.2:8888

扩展

进一步可以考虑两方面,

  • 如何使用dockerfile设计一个适合自己项目的自定义node.js镜像。
  • 如何使用docker-compose编排Node.js应用。

参考

Node.js 创建第一个应用

回到页面顶部