首页/云/云与容器速查/Compose 多文件合并与 override
容器与 Docker106 条

Compose 多文件合并与 override

按环境拆分配置文件:base + override 自动叠加,或用 -f 显式指定多文件(后写优先)。标量覆盖、映射深合并,列表以追加/合并为主。

云与容器速查云更新于 2026-10-12
自动模式docker-compose.override.yml 与 compose.yaml 自动合并
显式多文件-f compose.yaml -f compose.prod.yaml(后者优先)
合并规则标量后者覆盖;映射深合并;列表追加(端口/卷按 key 合并)
用途本地开发 override、生产资源与副本差异

使用示例

使用示例
docker compose -f compose.yaml -f compose.prod.yaml config
docker compose -f compose.yaml -f compose.prod.yaml up -d
override 文件是隐式生效的:仓库里留一个忘了删,所有环境都会被它改配置。

易错点

  • 以为 -f 后面的文件整体替换:实际是合并,旧配置可能还在
  • 列表字段合并留残值:ports 在两层都写会叠加出多余映射

数据来源与参考

  • Docker Docs:Merge Compose files

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌