日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

聊聊docker跨主機之間容器通信問題_docker

作者:二樓Kirara ? 更新時間: 2022-07-28 編程語言

一、環境信息

?主機名 宿主機IP 容器分配網段 啟動容器的IP
testa 192.168.1.105 172.172.0.0/24 172.172.0.10
testb 192.168.1.106 172.172.1.0/24 172.172.1.10

二、具體實踐

1.在testa主機上創建docker橋接網絡

docker network create --subnet=172.172.0.0/24 docker-br0

2.在testb主機上創建docker橋接網絡

docker network create --subnet=172.172.1.0/24 docker-br0

備注:這里選取了172.172.0.0網段,也可以指定其他任意空閑的網段,docker-br0為自定義網橋的名字,可自己任意取名。

注意:這里子網掩碼要使用255.255.255.0也就是IP后面的那個24,因為后面要使用iptables配置路由表,我之前使用255.255.0.0 無法配置.所以這里配置成24.\

創建網橋之后,使用ifconfig查看 會多出一個網橋,該網橋在docker啟動或者重啟之后,會自動顯示出來。永久的,可以使用docker network rm docker-br0 移除網橋。

3.在testa主機中你自定義的網段選取任意IP地址作為你要啟動容器IP

docker run -i -d --net docker-br0 --ip 172.172.0.10 --name test1 3bee3060bfc8 /bin/bash

testb主機中你自定義的網段選取任意IP地址作為你要啟動容器IP

docker run -i -d --net docker-br0 --ip 172.172.1.10 --name test2 3bee3060bfc8 /bin/bash

4.進入testa主機中的docker

docker exec -it test1 /bin/bash 

進入testb主機中的docker

docker exec -it test2 /bin/bash 

5. 配置路由表

添加路由規則

ip route add 對方容器所在的ip網段/子網掩碼 via 對方虛擬機ip dev 通過哪個網卡通信

testa主機中

ip route add 172.172.1.0/24 via 192.168.1.106 dev eno16777736?? ?

testb主機中

ip route add 172.172.0.0/24 via 192.168.1.105 dev eno16777736?\

添加完成之后,可以使用 route命令 查看添加之后的規則,也可以使用 ip route del 172.172.1.0/24? 移除路由規則

6測試跨主機容器互ping

原文鏈接:https://juejin.cn/post/7103387188380827684

欄目分類
最近更新