docker如何实现跨主机通信

前言:在一些项目中,可能有多个服务器,多个服务器间的容器要如何实现通信呢?这里为大家演示一下 。
①首先我准备了2个linux,如图:分别为Docker1和docker2

docker如何实现跨主机通信

文章插图
准备服务器
②开启相应的端口,2377/tcp,7946/tcp,7946/udp,4789/udp 。
firewall-cmd --add-port=2377/tcp --permanentfirewall-cmd --add-port=7946/tcp --permanentfirewall-cmd --add-port=7946/udp --permanentfirewall-cmd --add-port=4789/udp --permanentfirewall-cmd --reload
docker如何实现跨主机通信

文章插图
开启端口
③、以docker1为主机,在他这里安装swarm,命令(docker swarm init)
docker如何实现跨主机通信

文章插图
docker1安装swarm
生成红框中的内容:
docker swarm join --token SWMTKN-1-5r3wg36i5fh5er4ah27he562wb53bpljwx480ce4dumkstg0nz-bez7l9ve9hsz92z19e1lm6wa5 192.168.3.130:2377④在docker2中输入上面的信息
docker如何实现跨主机通信

文章插图
docker2输入上面信息
此时在docker1上查看节点是否添加成功(docker node ls)
docker如何实现跨主机通信

文章插图
查看节点信息
⑤在docker1上查看网络信息(docker network ls)
docker如何实现跨主机通信

文章插图
查看网络信息
会有一个swarm网络,基于这个网络创建一个共享网络,这里要注意swarm主要是用来管理集群的 。
docker network create -d overlay --attachable sharedent
docker如何实现跨主机通信

文章插图
创建共享网络
⑥、分别在docker1和docker2上创建容器
docker如何实现跨主机通信

文章插图
docker1创建容器示例
创建好以后,进入到docker1的tom1容器中,ping docker2的ip
docker如何实现跨主机通信

文章插图
ping
这样就实现了2个不同主机间容器的通信 。

【docker如何实现跨主机通信】


    推荐阅读