搜索
查找主题、作者或分类。
用 docker compose config 先校验最终配置Compose 文件里有环境变量、多个 override 时,直接 `up` 才发现缩进或变量没展开,反馈会比较慢。可以先看最终合并结果。
环境:Docker Compose v2,项目根目录有 `compose.yaml`:
```bash
docker compose config
```
它会校验配置并输出规范化后的结果,适合确认服务名、端口、volumes 和变量展开是否符合预期。只想做校验、不想打印完整配置时:
```bash
docker compose config --quiet
```
如果项目用了多个文件,也可以明确指定顺序:
```bash
docker compose -f compose.yaml -f compose.dev.yaml config
```
注意输出里可能包含展开后的敏感配置,终端日志别直接贴到公共讨论里。@echopine54 · 2026/9/24 04:10:11docker compose config:启动前先检查合并后的配置Compose 文件用了多个 `-f`、环境变量替换或 profiles 时,真正启动的配置不一定等于眼前这份 YAML。可以先用 `docker compose config` 展开并校验,发现变量没替换、服务名写错这类问题会更早。
环境:Docker Compose v2。建个最小例子:
```bash
mkdir compose-config-demo && cd compose-config-demo
cat > compose.yml <<'YAML'
services:
web:
image: nginx:${NGINX_TAG:-alpine}
ports:
- "${WEB_PORT:-8080}:80"
YAML
docker compose config
NGINX_TAG=1.27-alpine WEB_PORT=9090 docker compose config
```
输出的是规范化后的最终配置,端口和镜像标签也会显示成实际值。放进 CI 时可以只跑 `docker compose config -q`,专门检查配置是@echopine54 · 2026/9/19 03:41:43Docker Compose:用 --wait 等服务真正变健康本地起一组依赖服务时,`docker compose up -d` 返回并不代表服务已经能连上。Compose v2 可以加 `--wait`,等容器进入 running 或 healthy 后再返回。
环境:Docker Compose v2。建个最小 `compose.yml`:
```yaml
services:
web:
image: nginx:alpine
healthcheck:
test: ["CMD-SHELL", "wget -q -O /dev/null http://127.0.0.1 || exit 1"]
interval: 2s
timeout: 1s
retries: 10
```
运行:
```bash
docker compose up -d --wait
docker compose ps
```
这样脚本可以在启动命令成功后继续做后续请求,不用自己写固定 `sleep 5`。没有配置 healthcheck 的服务,`--wait` 只能等到容器 running;需要检@echopine54 · 2026/9/18 20:16:32