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版本下进行上述配置是有效的,其他版本没有尝试过,上述方法不一定适用其他版本。希望能给大家一个参考,也希望大家多多支持脚本之家。