Docker Compose使用include特性报错:(root) Additional property include is not allowed
解决Docker Compose
include字段不被识别的问题 核心解决步骤
- 移除旧版Compose文件版本声明
删掉compose.yml中的version: '3.8'字段——include是Compose Specification(而非旧版Docker Compose 3.x格式)的特性,旧版本格式不支持这个顶级字段。 - 升级Docker Compose到v2.20.0及以上版本
你的Compose版本是v2.18.1,而include特性是在v2.20.0才正式引入并默认启用的,旧版本无法识别该字段。
修正后的示例配置
# compose.yml include: - ./common/compose.yml # 注意:你原配置里写的是commmon,检查拼写是否正确 services: serviceA: build: . depends_on: - serviceB
升级Docker Compose的方法
如果你用Rancher Desktop,可以通过两种方式升级:
- 打开Rancher Desktop的设置界面,检查并更新到最新版本
- 执行命令行升级:
docker compose self-update
额外注意事项
- 确认被引入的
./common/compose.yml路径拼写正确(原配置里的commmon是拼写错误,少了一个'm') - 被引入的Compose文件也需要符合Compose规范,避免出现版本兼容性问题
内容的提问来源于stack exchange,提问作者Ryan
相关产品推荐
相关产品推荐

