背景

很多部署问题,其实在本地就埋下了:

  • 本地依赖版本和线上不同
  • 环境变量缺省值不一致
  • 本地绕过了鉴权或网络策略

一个简单做法

用 Compose profile 区分场景,但保持核心依赖一致。

services:
  app:
    build: .
    env_file: .env
    depends_on: [db, redis]

  db:
    image: postgres:16

  redis:
    image: redis:7

总结

环境一致性不是“完全一样”,而是“关键契约一致”。

只要契约一致,很多线上问题能在开发期提前暴露。


部署质量往往从本地开发流程就开始决定了。