在 docker compose 中更改默认网络

时间:2021-07-05 13:10:53

标签: docker docker-compose

我在 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

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