Compose 文件改完后,不一定要直接启动一堆服务。可以先让 CLI 只做配置解析和变量替换校验:
环境:Docker Compose v2,在包含 compose.yaml 的目录执行。
mkdir compose-check-demo && cd compose-check-demo
printf '%s\n' \"services:\" \" web:\" \" image: nginx:alpine\" \" ports:\" \" - \"\"${WEB_PORT:-8080}:80\"\"\" > compose.yaml
WEB_PORT=8088 docker compose config --quiet
echo $?
退出码为 0 就表示配置能被 Compose 解析;端口写错、YAML 缩进不对或变量格式有问题时,会在真正启动前报出来。想看变量替换后的完整配置,可以去掉 --quiet。
它只检查配置,不会拉镜像,也不会创建容器,放进提交前检查或 CI 里挺省事。