docker安裝后導(dǎo)致的網(wǎng)絡(luò)問(wèn)題及解決
問(wèn)題描述
在uat環(huán)境中某臺(tái)機(jī)子上安裝了docker后,發(fā)現(xiàn)公司的辦公網(wǎng)絡(luò)到這條uat的機(jī)子就ping不通了,測(cè)試環(huán)境的網(wǎng)絡(luò)也ping不通uat了。
相關(guān)環(huán)境
- 本地ip:172.17..,windows系統(tǒng)
- 測(cè)試ip:172.17..,ubuntu16系統(tǒng)
- uat的ip:10.3..、10.4..,ubuntu16系統(tǒng)
復(fù)盤(pán)問(wèn)題過(guò)程
- 1.搭建jenkins時(shí),因測(cè)試環(huán)境不能ssh到uat和生產(chǎn),故選擇在uat搭建jenkins。
- 2.使用docker搭建jenkins完畢后,并未發(fā)現(xiàn)明顯異常,但是發(fā)現(xiàn)辦公網(wǎng)絡(luò)到uat這臺(tái)裝了docker的網(wǎng)絡(luò)突然不通了。
- 3.猜測(cè)肯定與docker安裝有關(guān),開(kāi)始檢查docker安裝所使用的命令,操作命令中未發(fā)現(xiàn)任何會(huì)對(duì)其他硬件和配置有變更的地方,只更新了軟件源。
- 4.此時(shí)有些迷茫,不清楚為啥網(wǎng)絡(luò)就有了故障,筆者對(duì)網(wǎng)絡(luò)不甚了解。
- 5.碰巧部門(mén)群里,服務(wù)器的管理人員發(fā)了一個(gè)場(chǎng)景的docker安裝產(chǎn)生的網(wǎng)絡(luò)異常問(wèn)題的場(chǎng)景,對(duì)號(hào)入住后發(fā)現(xiàn)與自己癥狀很是相似。決定照這個(gè)去網(wǎng)上搜了解決方案。
- 6.找到問(wèn)題原因:docker安裝后默認(rèn)有個(gè)docker0網(wǎng)卡,該網(wǎng)卡的ip是:172.17.0.1,該ip正好與公司本部的IP地址有沖突,然后就導(dǎo)致了本部的ip與docker所在網(wǎng)絡(luò)的通信出現(xiàn)了問(wèn)題。ping與telnet都會(huì)不通了。
- 7.問(wèn)題產(chǎn)生的原因一直都知道方向:docker產(chǎn)生的網(wǎng)絡(luò)問(wèn)題。不過(guò)直到服務(wù)器管理人員發(fā)出來(lái)才真正意識(shí)到問(wèn)題的所在。
解決辦法
1.刪除現(xiàn)在的網(wǎng)卡
sudo systemctl stop docker # 關(guān)閉docker sudo ip link set dev docker0 down # 關(guān)閉docker0網(wǎng)卡 sudo brctl delbr docker0 # 刪除docker0網(wǎng)卡 sudo iptables -t nat -F POSTROUTING # 清空路由后的地址轉(zhuǎn)換規(guī)則
執(zhí)行“brctl delbr”該命令時(shí),可能會(huì)提示命令未找到,請(qǐng)參照如下:
sudo apt install bridge-utils # Centos系統(tǒng)網(wǎng)橋安裝 sudo apt-get install bridge-utils # Ubuntu系統(tǒng)網(wǎng)橋安裝
2.重新創(chuàng)建docker0網(wǎng)卡
sudo brctl addbr docker0 # 創(chuàng)建網(wǎng)卡 sudo ip addr add 10.250.8.8/24 dev docker0 # 為docker0網(wǎng)卡聲明新的ip sudo ip link set dev docker0 up # 啟動(dòng)docker0網(wǎng)卡
3.修改docker配置文件
daemon.json可能不存在,該文件并不是必須的。所以若是不存在,則需要我們自己創(chuàng)建。
sudo vim /etc/docker/daemon.json # 編輯docker配置文件
打開(kāi)該文件后,在后面追加剛剛第二步 配置的ip即可,如下所示
{ "bip": "10.250.8.8/24" }
4.重啟docker即可
sudo systemctl daemon-reload # 重載docker的配置文件 sudo systemctl restart docker # 重啟docker服務(wù)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 如何解決docker-compose網(wǎng)段路由沖突,docker-compose自定義網(wǎng)絡(luò)
- docker-compose網(wǎng)絡(luò)配置-?IP?主機(jī)名?hosts配置方式
- docker網(wǎng)絡(luò),docker-compose?network問(wèn)題
- 使用docker-compose連接到宿主機(jī)網(wǎng)絡(luò)
- docker中的link和network網(wǎng)絡(luò)互連問(wèn)題
- Docker網(wǎng)絡(luò)配置(橋接網(wǎng)絡(luò)和自定義網(wǎng)絡(luò))自定義網(wǎng)絡(luò)設(shè)置ip方式
相關(guān)文章
Docker網(wǎng)絡(luò)IP地址沖突的解決方法
本文主要介紹了Docker網(wǎng)絡(luò)IP地址沖突的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06Docker內(nèi)部MySQL如何開(kāi)啟binlog日志
這篇文章主要介紹了Docker內(nèi)部MySQL如何開(kāi)啟binlog日志問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04docker啟動(dòng)ES內(nèi)存溢出的解決方案
這篇文章主要介紹了docker啟動(dòng)ES內(nèi)存溢出的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03docker-compose實(shí)現(xiàn)容器任務(wù)編排的方法步驟
本文主要介紹了docker-compose實(shí)現(xiàn)容器任務(wù)編排的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01prometheus監(jiān)控節(jié)點(diǎn)程序的安裝及卸載命令
這篇文章主要為大家介紹了prometheus監(jiān)控節(jié)點(diǎn)程序的安裝及卸載命令,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06docker安裝elastic?search的詳細(xì)過(guò)程
這篇文章主要介紹了docker安裝elastic?search的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06Docker鏡像發(fā)布到Docker?Hub的實(shí)現(xiàn)方法
本文主要介紹了Docker鏡像發(fā)布到Docker?Hub的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01docker中nginx卸載、安裝、配置及掛載詳細(xì)教程
這篇文章主要給大家介紹了關(guān)于docker中nginx卸載、安裝、配置及掛載的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹是非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-09-09