Docker容器跨主機通訊

2021-09-27 05:12:17 字數 1025 閱讀 3878

兩台主機上的docker容器直接通過ip位址進行通訊

各項配置如下:

docker version: 1.13.1

ip資訊根據個人需求部署

• 主機1的ip位址為:192.168.1.128

• 主機2的ip位址為:192.168.1.129

• 為主機1上的docker容器分配的子網:172.17.1.0/24

• 為主機2上的docker容器分配的子網:172.17.2.0/24

2.編輯主機1上的 /etc/docker/daemon.json 檔案,新增內容:

編輯主機2上的 /etc/docker/daemon.json 檔案,新增內容:

3.主機1和主機2上均執行如下命令重啟docker服務以使修改後的docker0網段生效

systemctl restart docker

主機1上新增路由規則如下:

route add -net 172.17.2.0 netmask 255.255.255.0 gw 192.168.1.129

主機2上新增路由規則如下:

route add -net 172.17.1.0 netmask 255.255.255.0 gw 192.168.1.128

5.主機1上新增iptables規則如下:

iptables -t nat -f postrouting

iptables -t nat -a postrouting -s 172.17.1.0/24 ! -d 172.17.0.0/16 -j masquerade

主機2上新增如下規則:

iptables -t nat -f postrouting

iptables -t nat -a postrouting -s 172.17.2.0/24 ! -d 172.17.0.0/16 -j masquerade

主機1&2上啟動centos容器測試互ping即可:

docker run -it centos:latest /bin/bash

iptables -t nat -nl

docker跨主機容器通訊

docker 網路模式詳解 路由器位址192.168.1.1用route n檢視 parent enp7s0的乙太網名用ifcofig查詢 apt install net tools iputils ping ydocker network create driver macvlan subnet ...

Docker容器跨主機通訊

預設情況下docker容器需要跨主機通訊兩個主機節點都需要在同乙個網段下,這時只要兩個docker容器的宿主機能相互通訊並且該容器使用net網路模式,改實現方式為網橋模式通訊 除此之外我們還可以通過使用第三方工具為不同主機間建立乙個覆蓋網路,使之能夠跨節點通訊,這裡將使用flanneld實現 建立 ...

Docker容器跨主機通訊 路由模式

採用路由模式 1 不同主機的docker子網不同,通過 var docker daemon.json檔案定義。重啟docker服務 systemctl daemon reload systemctl restart docker例如 a主機 bip 172.17.1.252 24 b主機 bip 1...