如何修改Docker的默认网段?

背景

公司的服务器全部都是购买的阿里云ECS主机,默认内网网段为172.16.0.0/12,测试服上的服务基本都是使用Docker部署的。
之前的同事在该机器上安装的Docker全部都是默认配置,网段为172.17.0.0/24,在实际使用中会有访问宿主机的需求,通过172.17.0.1来访问,这样就会与其他宿主机ip冲突,所以需要修改容器的默认网段。

解决方法

1、停止宿主机上的Docker服务

sudo systemctl stop docker

2、修改容器配置文件/etc/docker/daemon.json

sudo cat /etc/docker/daemon.json
{
    "registry-mirrors": ["https://gbs4gco0.mirror.aliyuncs.com"],
    "bip": "10.50.0.1/16",
}

如以上代码中所述,配置文件中的bip字段即可设置宿主机的docker网段,配置为私网地址即可(192.168.0.0/10.0.0.0/172.0.0.0)

3、启动Docker服务

sudo systemctl daemon-reload
sudo systemctl start docker

4、验证docker-0网桥地址

sudo ifconfig
...
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.50.0.1  netmask 255.255.0.0  broadcast 10.50.255.255
        inet6 fe80::42:46ff:fe18:add5  prefixlen 64  scopeid 0x20<link>
        ether 02:42:46:18:ad:d5  txqueuelen 0  (Ethernet)
        RX packets 14697564  bytes 5943503139 (5.5 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 15379709  bytes 6846099156 (6.3 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
...

至此,Docker的默认网段就已经修改完毕,可以查看之前的容器的ip有无修改

sudo docker container inspect alipne --format="{{.NetworkSettings.IPAdress}}"
10.50.0.2
posted @ 2020-11-16 19:00  大碗油泼  阅读(1968)  评论(0编辑  收藏  举报