千家信息网

Docker部署Node.js的方法步骤

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,前言项目中会用到node做中间层,部署node则是用到了docker,在这里总结、记录下部署要点和步骤;关于docker的介绍和安装这里就不赘述了,网上也有很多相关的教程和文章了,需要可自行搜索查看。
千家信息网最后更新 2026年10月31日Docker部署Node.js的方法步骤

前言

项目中会用到node做中间层,部署node则是用到了docker,在这里总结、记录下部署要点和步骤;关于docker的介绍和安装这里就不赘述了,网上也有很多相关的教程和文章了,需要可自行搜索查看。

项目结构

`-- docker-node  |-- data  |-- server    |-- app.js    |-- Dockerfile    |-- process.yml    |-- package.json  |-- docker-compose.yml

1、创建Node.js程序

app.js

const express = require('express');const app = express();app.get('/', (req, res) => res.send('hello world!'));app.listen(3008);

2、创建Dockerfile

FROM node:8.9-alpineRUN mkdir -p /usr/src/appWORKDIR /usr/src/appRUN npm set registry https://registry.npm.taobao.org/RUN npm install CMD ["./node_modules/pm2/bin/pm2-docker", "process.yml"]

从Dockerfile中可以看到我们是通过pm2-docker运行node应用的,利用PM2我们可以监听文件变化,达到应用重启、日志分存等效果;这里我们需要一个process.yml的配置文件,相关用法可以查看PM2文档。

process.yml

apps: - script  : 'app.js'  name   : 'dokcer-node'  exec_mode: 'fork'  watch  : true  instances: 1  log_date_format : 'YYYY-MM-DD HH:mm Z'  ignore_watch: ['node_modules']

3、创建docker-compose.yml

生产环境上我们用到往往不只一个容器,我们可以通过一个配置文件来管理多个Docker容器,然后使用docker-compose来启动,停止、重启应用。

docker-compose.yml

version: "3.0"services: server_node:  container_name: server-node  build:    context: ./server  volumes:   - ./server:/usr/src/app  ports:   - "3008:3008"  environment:   - TZ=Asia/Shanghai portainer:  image: portainer/portainer:1.11.4  container_name: portainer  expose:   - "9000"  ports:   - "9000:9000"  volumes:   - /var/run/docker.sock:/var/run/docker.sock   - ./data/portainer:/data  environment:   - TZ=Asia/Shanghai

4、启动容器

上述几个文件创建完毕,我们执行下面的命令,则会创建我们的镜像并且启动容器

$ docker-compose -f docker-compose.yml up -d

5、测试

1、访问本地的3008端口

2、测试当代码变化,node自动重启功能,我们把"hello world!"改为"restart!!!!",再次刷新页面

3、利用Portainer管理容器;可视化的界面相比命令行来说,我们可以很方便、快速查看容器日志、容器配置、状态、以及对进行重启、删除等操作;我们访问本地9000端口即可(docker-compese.yml中配置),结果如下。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

容器 文件 配置 应用 命令 日志 端口 项目 变化 测试 管理 步骤 中间层 代码 会创 内容 再次 前言 功能 可以通过 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技股 互联网和科技技术 美国互联网科技巨头监管 深圳科技互联网 互联网前沿科技 美国互联网前沿科技 互联网科技股午盘股票涨跌 成都仁贤领冠互联网科技有限公司 哈尔滨秒房互联网科技有限公司 南山科技园互联网公司有哪些 中国航天科技大学国际工业互联网 新兴科技互联网创新大赛颁奖典礼 沐思想互联网科技有限公司 杭州披云加互联网科技有限公司 互联网科技股为什么大涨 云鲸互联网络科技有限公司 深圳互联网科技园地址 互联网科技品牌 互联网科技创新创业项目 每日互联网科技新闻 广东猪兼强互联网科技有限公司 科技创新与互联网经济 互联网公司 科技公司 奇酷互联网科技公司 互联网科技生活的内容 国大互联网教育科技有限公司薪资 江苏互联网智能科技软件 易企秀互联网科技是做什么的 互联网科技手机排行榜 宁波允成互联网科技有限公司
0