Docker部署Node.js的方法步骤
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,前言项目中会用到node做中间层,部署node则是用到了docker,在这里总结、记录下部署要点和步骤;关于docker的介绍和安装这里就不赘述了,网上也有很多相关的教程和文章了,需要可自行搜索查看。
千家信息网最后更新 2025年01月23日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安全错误
数据库的锁怎样保障安全
太仓电子网络技术规定
vfp创建sql数据库
论文三大数据库
数据库的缓存层
软件与数据库连接失败
四川自动化渗透网络安全
黑客技术入侵数据库
中学生网络安全教育防受骗
服务器升级不了什么原因
重庆安锦网络安全公司
用什么数据库安全
互联网科技项目总结报告
上海综合软件开发性价比
阿里云关系型数据库
软件开发 cram
网上书店 数据库设计
gprs无线网络技术
分布式内存和数据库有什么区别
大学生网络安全调查ppt
大数据网络安全的意义
线上网络安全知识问答2021题
计算机网络技术高中
物业公司app软件开发工作计划
我的世界服务器沙子怎么卖钱
兰西市网络安全检查工作
数据库对象栏在哪里设置
alt修改数据库字段名
电脑网络安全密码是什么
华为泰山服务器管理接口
五月到六月网络安全