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