Docker網(wǎng)段和內(nèi)網(wǎng)網(wǎng)段ip沖突導致無法訪問網(wǎng)絡的兩種解決方法
docker啟動時默認會創(chuàng)建一個docker0網(wǎng)橋,它在內(nèi)核層連通了其他的物理或虛擬網(wǎng)卡,相當于將所有容器和其主機都放到同一個網(wǎng)絡。但是部署在內(nèi)網(wǎng)中的IP段存在有此網(wǎng)段的IP時,會導致沖突
1、使用宿主機的ip也會有是無效的。
2、只要docker啟動,便會造成局域網(wǎng)內(nèi)其它主機訪問本機失效,
3、關閉docker后,本機便可訪問.
以下我列出了兩種解決方法,供大家參考
方法一:簡單粗暴智能修改當前的bridge默認網(wǎng)段
docker默認的網(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ā)生了變化
方法二:不影響服務的情況下修改docker網(wǎng)段
1、安裝bridge-utils工具
yum -y install bridge-utils.x86_64
2、停止docker服務
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)絡地址,這個地址在后面可以作為虛擬機的網(wǎng)關地
ip addr add 100.10.1.0/24 dev docker0
#設置你要修改為哪個網(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、重新加載某個服務的配置文件
systemctl daemon-reload
11、重啟docker
systemctl restart docker
12、檢查是否生效

這里我們看到docker0的網(wǎng)段又發(fā)生了變化
優(yōu)點:上面這種情況,可以做到遷移docker的時候不改變虛擬網(wǎng)橋以及容器IP地址
到此這篇關于Docker網(wǎng)段和內(nèi)網(wǎng)網(wǎng)段沖突導致無法訪問網(wǎng)絡的兩種解決方法的文章就介紹到這了,更多相關Docker網(wǎng)段和內(nèi)網(wǎng)網(wǎng)段沖突內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
docker快速安裝Es和kibana的實現(xiàn)步驟
在工作過程中,經(jīng)常需要測試環(huán)境搭建Es環(huán)境,本文主要介紹了docker快速安裝Es和kibana,具有一定的參考價值,感興趣的可以了解一下2024-03-03
Windows(Win11)如何安裝Docker(Docker Desktop)
這篇文章主要介紹了Windows(Win11)如何安裝Docker(Docker Desktop),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06
Docker鏡像管理之docker?pull實戰(zhàn)及常見問題詳解
docker pull是我們經(jīng)常用到的一個命令,我們使用一些官方鏡像,如MySql、Nginx等都需要用docker pull下載,這篇文章主要介紹了Docker鏡像管理之docker?pull實戰(zhàn)及常見問題的相關資料,需要的朋友可以參考下2025-09-09
Docker部署java項目的詳細步驟(利用Dockerfile方式)
docker可以利用簡單的編寫程序構建出任何你想要的環(huán)境,同時可以跟業(yè)務代碼相結合,快速構建和生成所需要的應用,下面這篇文章主要給大家介紹了關于Docker部署java項目的詳細步驟,本文主要利用的是Dockerfile方式,需要的朋友可以參考下2022-08-08

