首页/云/Docker 容器速查/docker compose config 校验与展开
Compose 编排55 条

docker compose config 校验与展开

渲染并输出最终生效的 compose 配置:校验语法、展开变量、合并多文件结果,部署前跑一遍能提前发现大部分配置错误。

Docker 容器速查云更新于 2026-10-13

compose config 是什么

docker compose config 渲染并输出最终生效的配置:校验语法、展开环境变量、合并多份覆盖文件的结果。部署前跑一遍,可以在启动容器之前拦住大部分拼写、缩进与引用类错误。

基本信息

用途校验并查看最终生效的配置
常用参数-q 只校验、--services 列出服务、--volumes 列出卷、--profiles 列出档位
输出内容完整 YAML,环境变量已替换为实际值
变量来源当前目录的 .env 文件与 shell 环境变量
注意输出可能含敏感值,不要直接贴到公开渠道

典型使用场景

  • 上线前校验,确认 compose 文件语法与引用都没有问题
  • 排查变量没生效:看展开后的最终值是否符合预期
  • 多份覆盖文件叠加时确认合并结果,而不是只看基础文件
  • CI 里作为门禁,用 -q 在启动前拦住低级配置错误
  • 清点某项目包含哪些服务与卷,用于文档与巡检
  • 确认相对路径挂载最终解析到哪个绝对路径,避免挂到意外位置

示例

示例
docker compose config -q                       # 只校验,不输出内容
docker compose config --services               # 列出服务名
docker compose config --volumes                # 列出卷名
docker compose -f base.yml -f prod.yml config | head -n 40   # 查看叠加后的结果

常用参数的作用

参数输出典型用途
-q无输出,只报错误CI 门禁与提交前自检
--services服务名列表清点与脚本遍历
--volumes卷名列表核对数据卷清单
--profiles可选档位列表确认档位名与切换方式
不带参数展开后的完整 YAML核对变量替换与合并结果
config 通过只说明语法与引用没问题,端口占用、镜像拉取失败这类运行期错误仍要靠 up 才能暴露。
输出里的变量已经替换为实际值,包含口令或内部地址的结果不要直接贴到工单、聊天记录与公开渠道。
把 config -q 放在流水线最前面,配置类错误会在启动容器之前暴露,节省排查时间。

易错点

  • 以为 config 校验通过就没问题:它不检查端口占用与镜像可达性,运行期故障依旧会出现
  • 把展开后的配置直接贴到工单里,变量中的口令与内部地址随之泄露
  • 只检查基础文件而忽略覆盖文件:最终生效的是合并结果,变量与映射应以 config 输出为准
  • 在错误的目录执行 config,读到的 .env 与相对路径都不同,结果与实际部署环境不一致

数据来源与参考

  • Docker 官方 CLI 参考:docker compose config(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌