全书目录

第十篇:Docker 完全指南 —— 国际港口集装箱宇宙

第十二章:开发与生产不是一套思路 —— 别把本地开发姿势硬搬到线上

1 分钟 205 字 第 158 / 962 个阅读单元

这是 Docker 工程里很关键的一条分界线。

#1. 开发模式:更重视可改动、可观察

开发时常见做法:

  • bind mount 本地代码
  • 运行开发服务器
  • 热更新
  • 更方便 exec 进去调试

例子:

yaml
services:
  web:
    image: node:22-alpine
    working_dir: /app
    volumes:
      - ./:/app
    command: sh -c "npm install && npm run dev"
    ports:
      - "5173:5173"
#2. 生产模式:更重视不可变、可复制、可发布

生产更推荐:

  • 预先 build 出镜像
  • 容器里不要依赖本地源码
  • 用明确 tag 发布
  • 用 volume 管数据
  • 配健康检查和日志体系

例子:

yaml
services:
  web:
    image: myorg/web:1.3.0
    ports:
      - "3000:3000"
    environment:
      NODE_ENV: production
#3. 这两种模式不要混着想
text
开发
= 工地现场反复调试

生产
= 已经装好柜、封好箱、准备发船