跨主机容器间通讯解决方案
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跨主机容器间通讯解决方案相关的知识,希望对你有一定的参考价值。
1.docker集群间容器是否可以通信。
创建容器服务来测试:docker service create --name tomcat1 --replicas 2 192.168.56.200:5000/tomcat
测试结果ping不通。
2.docker 在早前的时候没有考虑跨主机的容器通信,这个特性直到 docker 1.9 才出现。在此之前,如果希望位于不同主机的容器能够通信,一般有几种方法:
使用端口映射:直接把容器的服务端口映射到主机上,主机直接通过映射出来的端口通信
把容器放到主机所在的网段:修改 docker 的 ip 分配网段和主机一致,还要修改主机的网络结构
第三方项目:flannel,weave 或者 pipework 等,这些方案一般都是通过 SDN 搭建 overlay 网络达到容器通信的
解决方案:创建overlay网络
docker network create -d overlay net
docker network ls
再创建容器进行测试
docker service create --name tomcat2 --mode global --network net 192.168.56.200:5000/tomcat
![]
创建镜像信息:docker inspect cf2bb17e353e
有了overlay网络可以ping通了。
两个容器可以通信是因为加了一个overlay层。
以上是关于跨主机容器间通讯解决方案的主要内容,如果未能解决你的问题,请参考以下文章