当前位置:首页 >> 服务器

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。