在不同的Docker容器中运行的Spring Boot应用拒绝连接

时间:2018-11-26 17:46:10

标签: rest spring-boot docker

我在同一主机上的3个容器中运行了三个应用程序。

CONTAINER ID    IMAGE                       COMMAND               PORTS                    

3f938111c1bf    registration   "java -jar registration.jar"       0.0.0.0:8030->8030/tcp  
cb9c4782194e    security       "java -jar security.jar"           0.0.0.0:8020->8020/tcp  
60005507a246    main           "java -jar main.jar"               0.0.0.0:8000->8000/tcp   

我能够使用Ajax请求从主应用程序访问安全应用程序的端点。

注册应用程序使用RestTemplate对象从Java方法中调用安全应用程序的终结点。该呼叫被安全应用拒绝,如下所示。

I/O error on POST request for "http://localhost:8020/security/register": Connect to localhost:8020 [localhost/127.0.0.1] failed: Connection refused (Connection refused); nested exception is org.apache.http.conn.HttpHostConnectException: Connect to localhost:8020 [localhost/127.0.0.1] failed: Connection refused (Connection refused)

我无法确定问题。 请注意,当我通过eclipse在本地运行这些应用程序时,此调用运行良好。

我对码头工人很陌生。我有可能遗漏某些东西吗?任何线索都将有所帮助。

非常感谢!

1 个答案:

答案 0 :(得分:0)

在使用Docker容器/映像时,需要在其上设置配置。因此,您必须将localhost更改为您的容器名称。例如:

 http://localhost:8020/security/register

 http://authentication:8020/security/register