我在 docker compose 中启动默认网络时遇到了一些问题。我设置了我想要的所有参数,但出于某种原因,它总是显示以下内容:
“services.networks 附加属性默认是不允许的”
有没有人有解决办法?
version: "3.9"
services:
elasticsearch:
image: elasticsearch:6.8.16
container_name: elasticsearch
restart: always
ports:
- "9200:9200"
- "9300:9300"
networks:
babel:
ipv4_address: 172.7.7.5
networks:
default:
name: babel
driver: custom-driver-1
config:
- subnet: 172.7.7.0/24
gateway: 172.7.7.1
答案 0 :(得分:0)
网络部分出现在撰写文件中的两个位置,在顶层和在单个服务中,并且每个的内容都不相同。顶级网络部分定义了供任何服务使用的网络,包括网络名称、驱动程序和配置等内容。服务中的网络部分指示该服务使用的网络和服务特定设置,包括网络别名等内容。为您拆分这两个文件的撰写文件如下所示:
version: "3.9"
services:
# services should be defined here, the compose file is invalid without them
networks: # networks indentation moved to top level
default:
name: babel
driver: custom-driver-1
config:
- subnet: 172.7.7.0/24
gateway: 172.7.7.1