>
目錄
- 方法一:簡(jiǎn)單粗暴智能修改當(dāng)前的bridge默認(rèn)網(wǎng)段
- 方法二:不影響服務(wù)的情況下修改docker網(wǎng)段
docker啟動(dòng)時(shí)默認(rèn)會(huì)創(chuàng)建一個(gè)docker0網(wǎng)橋,它在內(nèi)核層連通了其他的物理或虛擬網(wǎng)卡,相當(dāng)于將所有容器和其主機(jī)都放到同一個(gè)網(wǎng)絡(luò)。但是部署在內(nèi)網(wǎng)中的IP段存在有此網(wǎng)段的IP時(shí),會(huì)導(dǎo)致沖突
1、使用宿主機(jī)的ip也會(huì)有是無(wú)效的。
2、只要docker啟動(dòng),便會(huì)造成局域網(wǎng)內(nèi)其它主機(jī)訪(fǎng)問(wèn)本機(jī)失效,
3、關(guān)閉docker后,本機(jī)便可訪(fǎng)問(wèn).
以下我列出了兩種解決方法,供大家參考
方法一:簡(jiǎn)單粗暴智能修改當(dāng)前的bridge默認(rèn)網(wǎng)段
docker默認(rèn)的網(wǎng)段是172.17.0.0/16
1、首先停止docker
systemctl stop docker
2、備份下文件
cp /etc/docker/daemon.json /etc/docker/daemon.json.bak
3、在文件里面加入一下網(wǎng)段信息
cat > /etc/docker/daemon.json << EOF { "bip": "100.10.10.1/24" } EOF
注意:這里按照所需的要求來(lái)修改
接下來(lái)檢查一下我們修改是否生效
這里可以看到網(wǎng)段發(fā)生了變化
方法二:不影響服務(wù)的情況下修改docker網(wǎng)段
1、安裝bridge-utils工具
yum -y install bridge-utils.x86_64
2、停止docker服務(wù)
systemctl stop docker
3、停止docker 虛擬docker0虛擬網(wǎng)橋
ip link set dev docker0 down
4、刪除 docker 虛擬docker0虛擬網(wǎng)橋
brctl delbr docker0
5、清理Linux防火墻規(guī)則
iptables -t nat -F POSTROUTING
6、添加docker虛擬網(wǎng)橋
brctl addbr docker0
7、為docker0配置網(wǎng)絡(luò)地址,這個(gè)地址在后面可以作為虛擬機(jī)的網(wǎng)關(guān)地
ip addr add 100.10.1.0/24 dev docker0
#設(shè)置你要修改為哪個(gè)網(wǎng)斷,我修改的是100.10.1.0/24
8、啟用剛新創(chuàng)建的docker虛擬網(wǎng)橋
ip link set dev docker0 up?
9、docker配置文件中追加參數(shù)
vim /etc/docker/daemon.json
{ “bip”: “100.10.1.0/24” }
10、重新加載某個(gè)服務(wù)的配置文件
systemctl daemon-reload
11、重啟docker
systemctl restart docker
12、檢查是否生效
這里我們看到docker0的網(wǎng)段又發(fā)生了變化
優(yōu)點(diǎn):上面這種情況,可以做到遷移docker的時(shí)候不改變虛擬網(wǎng)橋以及容器IP地址
>