Docker network Create加–subnet后,使用docker network ls查看,在刚刚新建的网络上没看到driver,使用docker network inspect 查看详细信息,会看到好多地方都没数据,特别是driver,不加–subnet,一切又正常。
异常图如下:
解决
解决:这时候你吧–subnet的网段换一个就好了。原因是–subnet指定的网段和某个network的网段冲突了。
补充知识: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版本下进行上述配置是有效的,其他版本没有尝试过,上述方法不一定适用其他版本。希望能给大家一个参考,也希望大家多多支持。