修改docker网桥网段范围实现方式
作者:duchx
文章介绍了如何修改Docker默认的172.17.0.0/16网桥网段,以避免与局域网冲突,提供了两种方法:一种是修改Docker配置文件并重启服务,另一种是创建自定义网络并指定子网范围,同时,还提到了一些参考命令,如查看docker0网桥信息和删除docker0网桥
修改docker网桥网段范围
Docker 在创建网络时默认使用 172.17.0.0/16 网段,容易和局域网内其他网段产生冲突,比如在腾讯云购买的云数据库就处于172.17.0网段
方法一(在已用生产环境下不推荐使用,因为需要重启Docker服务)
可以通过修改 Docker 配置文件来更改默认网络的子网范围。
在 /etc/docker/daemon.json 文件中添加如下内容:
{
"default-address-pools": [
{
"base": "172.20.0.0/16",
"size": 24
}
]
}修改后需要重启 Docker 服务:
$ sudo systemctl restart docker
方法二、自定义网络
对于每个新创建的容器,Docker 会根据其内部的逻辑分配一个未使用的子网。
若要为所有新的bridge网络指定不同的子网,可以创建自定义网络,并指定所需的子网范围:
$ docker network create --driver bridge --subnet=192.168.10.0/24 my_custom_network
可以在不影响其他容器网络的前提下,管理特定应用容器的网络环境,更适合精细粒度的网络控制
其他参考命令:
1.查看docker0网桥信息
$ ip addr show docker0
或
$ ifconfig docker0
2.删除 docker0 网桥,Docker 服务重启后会重新创建 docker0 网桥
$ ip link set dev docker0 down $ brctl delbr docker0
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
