Docker Compose启动报错Additional properties are not allowed问题求助
报错原因
两个报错均由docker-compose.yml声明的3.0版本不兼容高版本语法导致:
networks下的name自定义网络名属性是Compose 3.5及以上版本才支持的特性,3.0版本无法识别该参数ipam.config下直接定义gateway的写法同样属于高版本支持的配置,3.0版本规范不兼容
解决方案
推荐优先使用改动最小的方案1:
方案1:升级Compose文件版本
直接把配置文件第一行的版本号从"3.0"修改为"3.8"即可,3.8是Compose v3规范的最终稳定版本,完全支持你现有所有配置写法,其他内容不需要调整。
修改完成后重新执行docker-compose up -d即可正常启动服务。
方案2:适配3.0版本语法调整配置
如果必须使用3.0版本规范,需要修改networks段的两处配置:
- 删除
networks.labnet.io下的name: labnet.io配置行,3.0版本会默认用「项目名_网络名」的格式命名网络,不影响容器内部通信 - 删除
ipam.config下的gateway: 10.10.0.1配置行,网关会由Docker自动分配,不会影响子网内容器的固定IP通信
调整后的networks段参考:
networks: labnet.io: driver: bridge ipam: config: - subnet: 10.10.0.0/16
内容的提问来源于stack exchange,提问作者user17007397
相关产品推荐
相关产品推荐

