Docker網(wǎng)段和內(nèi)網(wǎng)網(wǎng)段ip沖突導(dǎo)致無法訪問網(wǎng)絡(luò)的兩種解決方法
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ì)有是無效的。
2、只要docker啟動(dòng),便會(huì)造成局域網(wǎng)內(nèi)其它主機(jī)訪問本機(jī)失效,
3、關(guān)閉docker后,本機(jī)便可訪問.
以下我列出了兩種解決方法,供大家參考
方法一:簡單粗暴智能修改當(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
注意:這里按照所需的要求來修改
接下來檢查一下我們修改是否生效

這里可以看到網(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地址
到此這篇關(guān)于Docker網(wǎng)段和內(nèi)網(wǎng)網(wǎng)段沖突導(dǎo)致無法訪問網(wǎng)絡(luò)的兩種解決方法的文章就介紹到這了,更多相關(guān)Docker網(wǎng)段和內(nèi)網(wǎng)網(wǎng)段沖突內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker部署nGrinder性能測(cè)試平臺(tái)過程解析
這篇文章主要介紹了Docker部署nGrinder性能測(cè)試平臺(tái)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
docker快速安裝Es和kibana的實(shí)現(xiàn)步驟
在工作過程中,經(jīng)常需要測(cè)試環(huán)境搭建Es環(huán)境,本文主要介紹了docker快速安裝Es和kibana,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03
關(guān)于docker部署fastapi項(xiàng)目以及日志掛載方式
這篇文章主要介紹了關(guān)于docker部署fastapi項(xiàng)目以及日志掛載方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
Windows(Win11)如何安裝Docker(Docker Desktop)
這篇文章主要介紹了Windows(Win11)如何安裝Docker(Docker Desktop),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
Docker鏡像管理之docker?pull實(shí)戰(zhàn)及常見問題詳解
docker pull是我們經(jīng)常用到的一個(gè)命令,我們使用一些官方鏡像,如MySql、Nginx等都需要用docker pull下載,這篇文章主要介紹了Docker鏡像管理之docker?pull實(shí)戰(zhàn)及常見問題的相關(guān)資料,需要的朋友可以參考下2025-09-09
Docker部署java項(xiàng)目的詳細(xì)步驟(利用Dockerfile方式)
docker可以利用簡單的編寫程序構(gòu)建出任何你想要的環(huán)境,同時(shí)可以跟業(yè)務(wù)代碼相結(jié)合,快速構(gòu)建和生成所需要的應(yīng)用,下面這篇文章主要給大家介紹了關(guān)于Docker部署java項(xiàng)目的詳細(xì)步驟,本文主要利用的是Dockerfile方式,需要的朋友可以參考下2022-08-08

