Docker 修改docker0网桥的默认IP

原理介绍

docker服务默认会创建一个docker0网桥,它在内核层连通了其他的物理或虚拟网卡,相当于将所有容器和其主机都放到同一个网络。
docker默认指定docker0网桥的IP地址和子网掩码(172.17.0.1/16),使得主机和容器之间能通过网桥通信,同时还给出了MTU值,
默认是1500Bytes或宿主机网络路由上支持的默认值。可以在daemon.json中进行配置,也可以在dockerd服务配置文件中配置DOCKER_OPTS,
然后重启服务。
bip=CIDR IP地址加掩码格式,例如192.168.0.1/24
mtu=BYTES 覆盖默认的Docker MTU配置
“bip”: CIDR
“mtu”: BYTES
或者

DOCKER_OPTS="–bip=192.168.0.1/24 --mtu=1400"

配置文件

# vim /etc/docker/daemon.json
{
    "bip": 192.168.0.1/24,
    "mtu": 1400
}

修改生效

使之生效的命令如下:

# systemctl stop docker
# ip link set dev docker0 down
# brctl delbr docker0
# systemctl start docker

注意事项

该方法只适用于一部分场景,就是环境中没有运行的容器,也就是说,要想通过该方式修改docker0的IP,
需要额外做一件事情,那就是需要先保证环境中没有运行着的容器,否则是修改不成功的。

引用

(1)配置网桥docker0
(2)修改docker0的IP不生效

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐