docker-compose config 命令用于校验 docker-compose.yml 或 compose.yaml 的语法合规性,解析并输出规范化后的完整配置,成功输出即表明文件结构合法、缩进正确、字段可用、版本匹配,错误时则精准定位问题位置。

直接用 docker-compose config 命令就能校验 docker-compose.yml(或 compose.yaml)的语法是否合规。
config 命令的核心作用
它不是启动容器,而是解析并输出规范化后的完整配置。只要能成功输出服务列表,就说明文件结构合法、缩进正确、字段可用、版本声明匹配当前 Compose 工具链。
- 若存在 YAML 缩进错误、非法字段(如在 v2 中误用
deploy)、或环境不支持的版本号,命令会立即报错并指出具体位置 - 输出内容已自动展开所有变量(如
${VAR})、合并多文件(extends或include)、应用默认值,是真实生效的配置快照
常见校验场景与提示
运行前建议先执行该命令,尤其在以下情况:
- 刚修改完
version字段(例如从'2.4'改为'3.8'),需确认本地 Docker Engine 和 Compose CLI 是否支持 - 新增了
volumes挂载、networks自定义或secrets配置,避免路径、驱动名或权限写法错误 - 使用了环境变量或
.env文件,config会显示最终解析结果,方便核对值是否如预期
配合版本检查更稳妥
单纯 config 成功不代表一定能 up,还需关注版本兼容性:
- 查本地 Compose 版本:
docker-compose --version或docker compose version(v2+ 新命令格式) - 对照
version字段要求:比如3.8要求 Docker Engine ≥ 19.03.0;若环境只支持 v2.4,就得降级写法或升级引擎 - 注意命令差异:旧版用
docker-compose(带中划线),新版推荐docker compose(空格),两者对同一配置文件的解析行为基本一致,但 CLI 功能略有区别











