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

Docker Compose报services Additional property mongodb is not allowed错误如何解决

问题解答

这个输出属于docker-compose配置解析阶段的标准报错。

报错根因

你的docker-compose.yml中存在不可见的零宽空格字符:services下的mongodb服务名前、api服务depends_on配置中引用的mongodb字符串前都携带了该类特殊字符,YAML解析器无法识别,会将带特殊字符的mongodb判定为不符合规则的额外字段,因此抛出该错误。

可行解决方案

第一步:修复配置文件

打开docker-compose.yml,执行两处修改:

  • 找到api服务depends_on下的- '​mongodb'行,删除单引号内的内容后手动重新输入mongodb
  • 找到services下的​mongodb:行,删除该行开头所有空白字符后,手动输入2个空格(和同级api服务的缩进保持一致),再输入mongodb:

第二步:验证配置有效性

修改完成后在PowerShell中执行docker-compose config,如果无报错且正常输出完整的配置内容,说明配置修复成功,之后再执行docker-compose up -d即可正常启动容器。

第三步:确认热重载生效

你当前配置中已经将本地代码目录挂载到了api容器的/code目录,只要你的后端服务本身开启了热重载能力(比如Node.js项目使用nodemon启动、Java SpringBoot项目开启devtools等),即可实现本地代码变更后容器内服务自动重载,无需每次重新执行build操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 13:15:02