1. 程式人生 > 其它 >兩臺主機之間dokcer容器如何通訊

兩臺主機之間dokcer容器如何通訊

問題場景:
a、b兩臺主機安裝docker後,兩臺主機的docker容器是不能直接通訊的,首先修改預設網段為不同網段,如 172.17.0.0 / 172.27.0.0。

具體示例:
a ip為:192.168.1.52, docker網段為 172.17.0.0/254
b ip為:192.168.1.87,docker網段為 172.27.0.0/254


實現:
路由表新增彼此配置:
a機器新增路由:route add -net 172.27.0.0/24 gw 192.168.1.87
b機器新增路由:route add -net 172.17.0.0/24 gw 192.168.1.52

新增轉發
iptables 方式
a機器:iptables -t nat -A POSTROUTING -s 10.42.0.0/24 ! -d 10.42.1.0/16 -j MASQUERADE
b機器:iptables -t nat -A POSTROUTING -s 10.42.1.0/24 ! -d 10.42.0.0/16 -j MASQUERADE

firewalld方式
a機器:firewall-cmd --permanent --zone=trusted --change-interface=docker0
b機器:firewall-cmd --permanent --zone=trusted --change-interface=docker0
開啟轉發:sysctl net.ipv4.conf.all.forwarding=1

上述配置完成後立即生效,進入a容器ping b容器即可ping通

參考命令

檢視docker網路 ifconfig docker0

檢視容器資訊 docker inspect 容器id

進入指定終端 docker exec -it 容器id /bin/bash

轉載地址:https://blog.csdn.net/qq_37883792/article/details/116700957