没有路由到主机之间的2个docker集装箱之间的主机

我有两个docker集装箱运行在同一主机(centos 6服务器)。

容器1 >>我的web应用程序(端口映射到主机的一些随机端口)
容器2 >> python selenium testscripts(运行无头版Firefox)

我的testing案例没有说出问题的加载页面
基本上问题是位于同一主机上的第二个容器或任何其他容器不能访问我的Web应用程序。 但我的networking应用程序是可以访问的外部世界

我连接了两个容器,但仍然面临着这个问题
我试图复制在我的笔记本电脑(Ubuntu的)相同的设置和它的工作正常!

任何帮助赞赏! 提前致谢

我觉得订单在连接容器方面很重要。 你应该启动container1的Web应用程序,然后link container2与Web应用程序。

您需要更改您的selenium脚本以使用docker link id或alias作为主机名。

例如,如果你做了:

 $ sudo docker run -d --name webapp my/webapp $ sudo docker run -d -P --name selenium --link webapp:webapp my/selenium 

那么你的selenium脚本应该指向http:// webapp /

我在Fedora(22)有这个问题 – 对一些容器(不是全部)。 经过检查,显示iptables上有一个特殊的DOCKER链,可以使一些连接松动。 为该链添加一个接受规则使事情有效:

 sudo iptables -A DOCKER -p tcp -j ACCEPT 

(在遇到这个问题之前search问题,在CentOS和RHEL中也有这样的build议)

是的容器推出的顺序是重要的,但我通过jenkins启动我的web应用程序容器。

jenkinsconfiguration在容器2中。所以我无法手动启动我的web应用程序(容器1)。

有没有其他解决scheme,像双向连接?