DOCKER默認虛擬網卡IP地址段導致的網絡訪問異常問題

一、背景

docker服務默認會創建一個docker0網橋,它在內核層連通了其他的物理或虛擬網卡,相當於將所有容器和其主機都放到同一個網絡。但是部署在內網中的IP段存在有此網段的IP時,會導致路由轉發異常,有服務本來時可以訪問的,但是由於裝了docker之後導致服務訪問不到的問題。

第一步 刪除原有配置

sudo service docker stop 
sudo ip link set dev docker0 down      #關閉網卡 
sudo brctl delbr docker0            #刪除docker0網卡 
sudo iptables -t nat -F POSTROUTING

 

第二步 創建新的網橋

sudo brctl addbr docker0 #新增網卡 
sudo ip addr add 192.168.200.1/24 dev docker0 
sudo ip link set dev docker0 up

 

第三步 配置Docker的文件

注意: 這裏是 增加下面的配置(注:rpm包安裝的docker沒有這個文件,可以自己手動建一個同名文件就行,路徑最好一致,否則還要啓動的時候,指定配置文件路徑

vi /etc/docker/daemon.json 
{ "bip": "192.168.200.1/24", }

docker的配置現在都是用daemon.json了,不需要去設置DOCKER_OPTS, 所以網絡上很多的資料早已過時。

關於daemon.json可以參考這篇文章 https://www.antergone.com/42.html

第四步 重啓主機

sudo reboot

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章