docker-compose启动提示services.*.networks包含无效类型错误如何解决?
错误原因
该报错是由docker-compose v3版本的语法规则不匹配导致:为服务绑定指定网络的静态IP时,networks下对应网络名称的取值必须为对象类型,你当前的配置中使用了数组格式(ipv4_address前加了短横线-),触发了类型校验错误。
修改方案
删除三个服务networks.app_network配置下ipv4_address前的短横线即可,额外建议把网络的驱动参数从无效的default修改为标准的bridge(docker桥接网络默认驱动为bridge),修改后的完整配置如下:
version: '3.9' services: app-1: container_name: app-1 image: app/app:1.0.0 networks: app_network: ipv4_address: 192.28.0.2 app-2: container_name: app-2 image: app/app:1.0.0 networks: app_network: ipv4_address: 192.28.0.3 app-3: container_name: app-3 image: app/app:1.0.0 networks: app_network: ipv4_address: 192.28.0.4 networks: app_network: driver: bridge ipam: driver: default config: - subnet: 192.28.0.0/16 gateway: 192.28.0.1
修改完成后重新执行docker-compose up -d即可正常启动服务。
内容的提问来源于stack exchange,提问作者Avinash
相关产品推荐
相关产品推荐

