新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Docker跨主機(jī)通信具體方法
在工作中docker容器會(huì)部署在不同的服務(wù)器中,那么就涉及到不同的機(jī)器間容器的相互通信。我們都知道docker-compose用于容器編排,但是只能解決單臺(tái)服務(wù)器上容器間的通信問題。在本課程中我們將實(shí)現(xiàn)不同的服務(wù)器間容器的通信。

設(shè)有三臺(tái)虛擬機(jī)
v1: 10.108.8.200
v2: 10.108.8.205
v3: 10.108.8.202
更改虛擬機(jī)docker0網(wǎng)段
v1為172.17.1.1/24,v2為172.17.2.1/24,v3為172.17.3.1/24。
#v1
sudo ifconfig docker0 172.17.1.1 netmask 255.255.255.0
sudo bash -c 'echo DOCKER_OPTS="-B=docker0" >> /etc/default/docker'
sudo service docker restart
# v2
sudo ifconfig docker0 172.17.2.1 netmask 255.255.255.0
sudo bash -c 'echo DOCKER_OPTS="-B=docker0" >> /etc/default/docker'
sudo service docker restart
# v3
sudo ifconfig docker0 172.17.3.1 netmask 255.255.255.0
sudo bash -c 'echo DOCKER_OPTS="-B=docker0" >> /etc/default/docker'
sudo service docker restart
然后在v1上把v2的docker虛擬網(wǎng)段加入到路由表中,在v2上將v1的docker虛擬網(wǎng)段加入到自己的路由表中
# v1 10.108.8.200
sudo route add -net 172.17.2.0 netmask 255.255.255.0 gw 10.108.8.205
sudo iptables -t nat -F POSTROUTING
> sudo iptables -t nat -A POSTROUTING -s 172.17.1.0/24 ! -d 172.17.0.0/16 -j MASQUERADE
# v2 10.108.8.205 v3 10.108.8.202
sudo route add -net 172.17.1.0 netmask 255.255.255.0 gw 10.108.8.200
sudo iptables -t nat -F POSTROUTING
sudo iptables -t nat -A POSTROUTING -s 172.17.2.0/24 ! -d 172.17.0.0/16 -j MASQUERADE
至此,兩臺(tái)虛擬機(jī)中的docker容器可以互相訪問了。
名稱欄目:Docker跨主機(jī)通信具體方法
本文路徑:http://m.fisionsoft.com.cn/article/cocsohg.html


咨詢
建站咨詢
