2015-09-26 365 views
0

注意:问题与Bluemix docker支持有关。两个Docker容器之间的“java.net.NoRouteToHostException:没有路由到主机”

我正试图连接在Bluemix中部署的两个不同的Docker容器。我得到异常:

java.net.NoRouteToHostException: No route to host 

当我尝试(上自由运行的Java EE应用程序试图访问MySQL)这样的连接。我尝试使用MySQL Docker Container的私有和公共IP。

问题是我能够从Bluemix之外访问MySQL Docker Container。所以IP,端口和MySQL本身都可以。

这似乎与Bluemix中Docker Container支持的内部网络有关。如果我尝试从Bluemix内部进行访问,它会失败,如果我从外部进行操作。任何帮助?

更新:我继续调查,你可以看到在评论中,这似乎是一个时间问题。我的意思是,似乎一旦容器启动并运行,仍有一些连接工作仍未完成。如果我能够等待大约1分钟,然后尝试连接它就可以工作。

+0

它们是在一台主机上还是在不同的主机上运行? –

+0

我无法回答。两个容器都部署在Bluemix中,平台决定什么和在哪里。作为最终用户,我无法访问这些信息。我只知道他们都有私人和公共IP。 –

+0

所以你说容器1不能在公共或私人IP上与容器2通话? – jpapejr

回答

0

60秒应该是网络在容器创建后开始工作的经验法则。

+0

谢谢@ywang。你知道这样的“规则”是否记录在任何地方? –

+0

[文档](https://www.ng.bluemix.net/docs/containers/container_single_ov.html#container_single_cli)表示有大约30秒的等待时间,但有时可能需要更长时间,我们正在努力缩短等待时间。谢谢。 – ywang

+0

非常感谢@ywang,我错过了那一段。 –