背景
公司的服务器全部都是购买的阿里云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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。