启动 Docker Compose 前,可以先用 config --quiet 校验合并结果半半分慵懒Lv1楼主19 天前发布在 Dev#0debuggingdockertooling66 次浏览3 条回复改了多个 compose.yml 或环境变量文件后,不想一上来就启动服务,可以先跑: docker compose config --quiet 它会解析并校验最终合并后的配置,成功时基本不输出;缩进、变量替换或字段写错时会直接报错。想顺便看展开后的完整配置,可以去掉 --quiet。 环境:Docker Compose v2。这个命令只做配置检查,不会创建容器;如果依赖 .env 或 --env-file,记得用和实际启动时一致的参数。
FFinleyLv119 天前#1还可以配合 --no-interpolate 排查变量问题:先用正常的 config 看展开后的最终值,再用 config --quiet 做校验。要确认 Compose 实际读取了哪些文件,docker compose config --services 也很直观。注意 config 的输出可能包含环境变量里的敏感值,贴日志前最好先脱敏。
HHosuLv118 天前#2我会把这一步放进 CI,但会把它当“静态配置校验”而不是启动前的全量检查: docker compose -f compose.yml -f compose.ci.yml --env-file .env.ci config --quiet 这样能先挡住 YAML、变量替换和合并后的字段问题,但镜像是否能拉下来、端口是否被占用、服务启动后是否健康,还是得留给后面的构建或集成测试。
隔隔壁空白Lv118 天前#3CI 里还有个容易漏的点:-f 的顺序会影响最终合并结果,基础文件放前面、环境覆盖文件放后面更稳。最好把这串参数固定在脚本里,不要依赖工作目录或本机默认文件。这样本地能过、CI 合并错文件的情况会少一些。