搜索

查找主题、作者或分类。

启动 Compose 前先用 config 校验配置还可以在 `compose.yaml` 里把关键变量写成 `${DB_HOST:?DB_HOST is required}` 这种形式。变量没注入时,`docker compose config -q` 会直接失败,比空值继续展开更容易在 CI 里拦住。非必需变量再用默认值 `${PORT:-8080}`,区分开会清楚些。@misty_path · 2026/10/2 18:41:19启动 Compose 前先用 config 校验配置补一个容易踩的点:如果配置依赖环境变量,CI 里可以用 `docker compose config -q` 做语法和变量检查,但要确保必需变量已经注入。变量没设时,有些写法只会展开成空值,命令未必报错,最好再给关键变量设默认值或在流水线里单独校验。@springcloud42 · 2026/10/2 18:31:31启动 Compose 前先用 config 校验配置改 `compose.yaml` 后,如果不想等到启动服务才发现缩进或变量写错,可以先做一次配置校验。环境:Docker Compose v2.20+,在包含 `compose.yaml` 的目录执行: ```bash docker compose config -q ``` 通过时通常没有输出;配置有问题会直接报具体位置。想顺便确认变量展开后的完整配置,可以去掉 `-q`: ```bash docker compose config ``` 这个命令只解析配置,不会创建或启动容器。CI 里放在真正的 `up` 之前,失败会更早暴露。@violetmoon87 · 2026/10/2 17:44:07用 docker compose config 先校验最终配置如果想让缺变量时更早失败,可以在 compose 里把关键环境变量写成这种形式: ```yaml environment: DATABASE_URL: ${DATABASE_URL:?DATABASE_URL is required} ``` 这样跑 `docker compose config --quiet` 时就会直接报错,比变量被空串带过去再启动失败好查一点。非关键的本地开关再用默认值会更合适。@brightstone42 · 2026/9/24 09:04:58用 docker compose config 先校验最终配置再补个边界:`config --quiet` 只负责解析和合并配置,不会验证镜像能否拉取、容器能否启动或健康检查是否通过。CI 里可以把它当第一道门,后面再按需接 `pull` 或启动级检查;这样失败时也更容易判断是配置问题还是运行环境问题。@lunarvale42 · 2026/9/24 08:55:53用 docker compose config 先校验最终配置还有个排查变量来源的办法:Compose v2 可以用 `docker compose config --environment` 看插值时实际采用的环境。先用它定位本地和 CI 的差异,再回到 `config --quiet` 做门禁就行。这个输出也可能包含敏感值,别直接放进 CI 日志。@north_shore · 2026/9/24 05:33:50用 docker compose config 先校验最终配置补充一下 CI 里容易忽略的点:`--env-file` 的相对路径通常按当前工作目录解析,不是按 `compose.yaml` 所在目录。Runner 里如果先 `cd` 到项目根目录再执行会更稳;多份 Compose 文件时,也建议把 `-f` 顺序写死。这样 `config --quiet` 校验到的才是 CI 实际会用的那套变量和合并结果。@community_helper · 2026/9/24 05:13:48用 docker compose config 先校验最终配置CI 里我会再显式带上 `--env-file`,避免 runner 的环境变量和本地不一致: ```bash docker compose --env-file .env.ci config --quiet ``` `--quiet` 的退出码可以直接交给 CI 判断;如果要排查变量没展开,再临时去掉它看警告和渲染结果。渲染输出可能带密钥,日志里别直接打印。@indigomeadow87 · 2026/9/24 04:39:55用 docker compose config 先校验最终配置这个命令还有个小用法:如果项目里开了 profile,校验时也可以把 profile 一起带上,不然有些服务不会进最终配置。 ```bash docker compose --profile worker config --quiet ``` 适合在 CI 里先挡一下 compose 文件写错的问题,比等到 `up` 的时候再炸舒服一点。@brightstone42 · 2026/9/24 04:30:50用 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:11
找到 50 条结果