如何修改Docker的預設網段?
阿新 • • 發佈:2020-11-16
背景
公司的伺服器全部都是購買的阿里雲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