跳到主要内容

docker修改默认网段

docker默认网段为 172.17.0.0/16 ,修改docker默认网段需要编辑 /etc/docker/daemon.json 文件,并增加如下配置,然后重启docker即可

{
"bip":"192.168.0.1/24"
}

修改完成后查看 docker0 网卡就会看到IP地址段已经发生变更,但是这样只能修改 docker0 网卡的IP段,在使用 docker-compose 安装某些软件的时候,例如 gitea ,会创建名为 br-xxx 桥接模式的网卡,这些网卡默认会从 172.17 开始递增(这一块原理没有搞明白)

如果我们的网络环境下有 172.17172.18 等子网,那则会发生冲突,解决方法有多种,1是 docker-compose 安装的时候指定创建的虚拟网卡网段,2是修改虚拟网卡的网段,同时还需要删除路由并新建路由,但是这样不灵活,每一次在新环境部署的时候都需要做相同的操作,比较繁琐

在github中找到了一个isseu,isseu中有说明到这个问题,比较好的操作方法是直接修改docker配置文件 /etc/docker/daemon.json ,然后新增如下配置,这样无论是 docker0 还是桥接网卡都会从配置的地址池中分配IP,从而不影响当前网络

{
"debug" : true,
"default-address-pools" : [
{
"base" : "10.51.0.1/16",
"size" : 24
}
]
}

上面配置意思:后面服务再创建地址池使用 10.50.0.1/16 网段范围划分,每个子网掩码划分为 255.255.255.0