Docker Compose 编排微服务集群的核心是按职责拆分服务、定义清晰依赖与隔离边界,通过自定义网络实现服务名通信,结合健康检查、外置配置、分层组织和 profiles 控制启停。
用 Docker Compose 编排微服务集群,本质是把多个独立服务按业务逻辑组织起来,让它们在统一网络中自动发现、可靠通信、有序启停。关键不在于堆砌容器,而在于设计清晰的依赖关系和隔离边界。
先梳理业务模块,比如用户中心、订单处理、API 网关、配置中心、注册中心(如 Eureka)、数据库和缓存。每个模块对应一个 service,各自放在独立子目录里,含自己的 Dockerfile 和配置文件。
所有 service 共享一个自定义 bridge 网络(如 micro-net),让容器间通过服务名直接通信,不用关心 IP 变化。依赖关系不靠 depends_on 保证就绪,而是配合健康检查(healthcheck)和应用层重试机制。
密码、密钥、数据库连接串等不写死在 docker-compose.yml 里,改用 .env 文件或 secrets(Docker Swarm 模式下)管理。开发、测试、生产环境共用同一份编排文件,仅切换配置源。
不要把所有服务塞进一个大文件。建议按功能分组:基础层(db、redis)、核心层(gateway、user、order)、工具层(pgadmin、kafka-ui)。用 profiles 控制哪些服务启动,比如开发时启用 pgadmin,上线时禁用。