Docker之间的双向通信容器

我正在寻找设置docker集装箱之间的双向通信。我有以下容器:

1.Apache 2.Tomcat A 3.Tomcat B 4.Tomcat C 5.MySQL 

Apache充当反向代理并将请求转发给Tomcat A,B和C.All Tomcat容器将与MySQL数据库进行通信。截至目前,我已经在Apache中向Apache发送请求到Tomcat容器的链接,而Tomcat容器也有链接与MySQL数据库进行通信。 现在我需要在Tomcat容器之间build立双向通信就像Tomcat A想与Tomcat B和Tomcat C交谈,反之亦然。如何用Docker Compose实现这一点? 是否有可能在docker-compose.yml文件中提供双向链接?

提前致谢。

不,链接不是双向的,所以你不能用它实现。

你可以做的是将你的容器设置在同一个networking中,这样他们就可以通过它们的容器名称访问对方。

例如

 docker network create newnetwork docker run -d --name apache --net=newnetwork Apache docker run -d --name tomcatA --net=newnetwork TomcatA ... 

这样做,容器apache将能够ping /访问tomcatA,并且tomcatA将能够ping /访问apache。

看看如何使用docker-compose集成networking: https : //docs.docker.com/compose/networking/#specifying-custom-networks

我不确定这个部分,但是由于docker〜1.10,你似乎不需要创build一个networking,默认的networking将所有的容器连接在一起,所以你可以通过他们的名字来ping其他容器。 (查看容器中的/ etc / hosts文件,如果你看到其他容器名称和他们的IP,