Skip to main content
Docker

Docker是一种开源的应用容器引擎,旨在简化应用程序的开发、部署和运行过程。它提供了一种轻量级、可移植和自包含的容器化环境,使得开发人员能够在不同的计算机上以一致的方式构建、打包和分发应用程序。

作用

通过Docker,开发者可以将应用以及依赖包打包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也能实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

优点

  • 更高效的利用系统资源
  • 更快速的启动时间
  • 一致的运行环境
  • 持续交付和部署
  • 更轻松的迁移
  • 更轻松的维护和扩展

Sewen4/8/2024About 5 minDockerDocker
使用 docker 部署 Node 服务

部署总流程

总流程
  1. 本地同步远程分支
  2. 本地构建 docker 镜像
  3. 本地打包 docker 镜像
  4. 上传 docker 镜像到服务器
  5. 解压服务器 docker 镜像

部署命令行

// 本地开发环境
 "start": "node cross-env NODE_ENV=development ./src/server.js", 
 // 本地开发环境
  "dev": "cross-env NODE_ENV=development nodemon ./src/server.js",
  //本地链接生产环境
  "prod": "cross-env NODE_ENV=production node ./src/server.js",
  //本地链接测试环境
  "test": "cross-env NODE_ENV=test nodemon ./src/server.js",
  //sql服务
  "sqlserver": "cross-env NODE_ENV=test node ./src/server.js",
  //pm2 测试环境
  "pm2:test": "pm2-runtime start pm2.json --env test",
  //pm2 生产环境
  "pm2:prod": "pm2-runtime start pm2.json --env production",
  // 构建docker测试环境
  "build:test": "cross-env NODE_ENV=test && node ./deploy/index.js build",
  // 构建docker生产环境
  "build:prod": "cross-env NODE_ENV=production && node ./deploy/index.js build",
  //上传docker包到测试服
  "upload:test": "cross-env NODE_ENV=test && node ./deploy/index.js upload",
  //上传docker包到正式服
  "upload:prod": "cross-env NODE_ENV=production && node ./deploy/index.js upload",
  //解压测试服docker包
  "decompress:test": "cross-env NODE_ENV=production && node ./deploy/index.js decompress",
  //解压正式服docker包
  "decompress:prod": "cross-env NODE_ENV=production && node ./deploy/index.js decompress",
  //构建、上传、解压docker测试服包
  "deploy:test": "cross-env NODE_ENV=test && node ./deploy/index.js",
  //构建、上传、解压docker正式包
  "deploy:prod": "cross-env NODE_ENV=production && node ./deploy/index.js"

Sewen1/22/2024About 14 minNode.jsNode.jsDocker部署