当前位置:首页 >> 服务器

解决Docker network Create加--subnet后遇到问题

Docker network Create加–subnet后,使用docker network ls查看,在刚刚新建的网络上没看到driver,使用docker network inspect 查看详细信息,会看到好多地方都没数据,特别是driver,不加–subnet,一切又正常。

异常图如下:

解决Docker network Create加--subnet后遇到问题

解决Docker network Create加--subnet后遇到问题

解决

解决:这时候你吧–subnet的网段换一个就好了。原因是–subnet指定的网段和某个network的网段冲突了。

解决Docker network Create加--subnet后遇到问题

补充知识:docker-compose文件中networks使用已经创建的网络

前置条件:

docker版本为:18.06.1-ce,build e68fc7a

docker-compose版本:1.22.0,build f46880fe

使用已经存在的网络

使用docker创建一个网络。给出示例如下:

docker network create --driver=bridge --subnet=192.168.88.0/24 demo

执行命令查看网络是否创建成功:

docker network ls

使用创建好的demo网络,docker-compose.xml如下:

version: "3.7"
services:
 cloudgo:
 image: cloudgo:latest
 container_name: cloudgo
 ports:
  - "8080:8080"
 logging:
  driver: "json-file"
  options:
  max-size: "1000k"
  max-file: "20" 
 networks:
  demo:
   ipv4_address: 192.168.88.80
networks:
 demo:
 external: true

主要核心配置是:

networks:
 demo:
 external: true

该部分表示使用外部网络demo,外部为true。至于重新创建网络的核心配置为:

networks:
  demo:
   driver: default
   config:
     subnet: 172.16.238.0/24
     gateway: 172.16.238.1

demo表示创建的网络后缀,驱动(driver)设置为默认值,子网(subnet)为:172.16.238.0/24、网关(gateway)。

上述只是简单讲了下 在当前docker、docker-compose版本下进行上述配置是有效的,其他版本没有尝试过,上述方法不一定适用其他版本。希望能给大家一个参考,也希望大家多多支持。