Docker部署Node.js的方法步骤
发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,前言项目中会用到node做中间层,部署node则是用到了docker,在这里总结、记录下部署要点和步骤;关于docker的介绍和安装这里就不赘述了,网上也有很多相关的教程和文章了,需要可自行搜索查看。
千家信息网最后更新 2024年09月21日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安全错误
数据库的锁怎样保障安全
网络安全csf
栾城区技术软件开发服务供应
讲网络技术的书
iis 数据库连接错误
华为存储服务器怎么用
一号互联网科技有限公司
陕西先通网络技术学校电话
亚雅伦互联网科技有限公司
百世软件开发岗位级别
华为荣耀8华为云服务器
数据库数据有哪些特性
世界最大的网络安全事故
公司网络安全培训结束语
数据库技术与应用例子
网络技术专接本学什么
湖南雨人网络安全有限公司
超星数据库撤稿之后会怎样
电信公司软件开发
海量数据管理服务器提供商
考试系统数据库连接失败
监控服务器需要怎么设置
支付软件开发费怎么做账
软件开发专业职校收费
重庆挖财网络技术有限公司招聘
陕西先通网络技术学校电话
vr软件开发需要哪些技术
网络安全中参透的含义
应用服务器怎么查询
1tb机械硬盘能装缓存服务器吗
app软件开发模板下载