"java.net.NoRouteToHostException: No route to host" 两个 Docker 容器之间

"java.net.NoRouteToHostException: No route to host" between two Docker Containers

注意:问题与 Bluemix docker 支持有关。

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

 java.net.NoRouteToHostException: No route to host

当我尝试这种连接时(Java Liberty 上的 EE 应用程序 运行 试图访问 MySQL)。我尝试同时使用 MySQL Docker Container.

的私有 IP 和 public IP

关键是我能够从 Bluemix 外部访问 MySQL Docker 容器。所以IP、端口和MySQL本身都可以。

这似乎与 Bluemix 中 Docker 容器支持的内部网络有关。如果我尝试从 Bluemix 内部访问,它会失败,如果我从外部访问,它会工作。有帮助吗?

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

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