解决Docker network Create加--subnet后遇到问题
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.80networks: 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版本下进行上述配置是有效的,其他版本没有尝试过,上述方法不一定适用其他版本。希望能给大家一个参考,也希望大家多多支持好吧啦网。
相关文章: