You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Compose启动报ScannerError:condition配置引发问题咨询

Docker Compose YAML扫描错误原因解析

核心问题:版本兼容性与语法不匹配

你遇到的yaml.scanner.ScannerError错误,本质是两个原因叠加导致的:

  1. Compose版本不支持条件依赖语法
    你配置里写的condition: service_completed_successfully是Compose Specification(即弃用version字段后的最新规范)或version: "3.8"及以上版本才支持的特性。而你用的是version: "3",这个旧版本的Compose语法里,depends_on只允许单纯的服务名称列表,不支持嵌套的条件配置,解析器根本识别不了这个语法,所以直接抛出扫描错误。

  2. YAML结构被解析器误判
    在旧版本语法下,你写的:

    depends_on:
      - metrics
        condition: service_completed_successfully
    

    会被YAML解析器当成“列表项里嵌套了一个映射”,但旧版depends_on不允许这种结构,于是就会在line27 column18的位置报错——它不知道这个condition应该归属于哪个合法的配置项。

可选修复方案(除了移除condition)

  • 升级Compose版本:把配置里的version: "3"改成version: "3.8"或更高,或者直接删掉version字段(使用最新的Compose规范),就能正常使用带condition的依赖配置。
  • 保留旧版本:如果不想升级,就只能维持depends_on为单纯的服务名称列表,放弃条件检查逻辑。

内容的提问来源于stack exchange,提问作者user11092881

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 06:42:27