良许Linux教程网 干货合集 Docker跨主机通信具体方法

Docker跨主机通信具体方法

在工作中docker容器会部署在不同的服务器中,那么就涉及到不同的机器间容器的相互通信。我们都知道docker-compose用于容器编排,但是只能解决单台服务器上容器间的通信问题。在本课程中我们将实现不同的服务器间容器的通信。

Docker跨主机通信具体方法

设有三台虚拟机

   v1: 10.108.8.200

   v2: 10.108.8.205

   v3: 10.108.8.202

更改虚拟机docker0网段

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虚拟网段加入到路由表中,在v2上将v1的docker虚拟网段加入到自己的路由表中

   # 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

至此,两台虚拟机中的docker容器可以互相访问了。

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

730e0cf3d7ca7bcb0a46cd7b54597c63f6246b60021c
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部