【问题标题】:Connection refused by Spring boot app running in different docker container运行在不同 Docker 容器中的 Spring Boot 应用程序拒绝连接
【发布时间】:2019-04-28 09:55:54
【问题描述】:

我在同一主机上的 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 在本地运行这些应用程序时,此调用运行良好。

我对码头工人很陌生。有没有可能我错过了什么?任何线索都会有所帮助。

非常感谢!

【问题讨论】:

    标签: rest spring-boot docker


    【解决方案1】:

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

     http://localhost:8020/security/register
    
     http://authentication:8020/security/register
    

    【讨论】:

    • 酷! :) @AbhinavPrakash
    猜你喜欢
    • 2018-02-07
    • 2018-06-29
    • 1970-01-01
    • 1970-01-01
    • 2018-07-11
    • 2015-11-19
    • 1970-01-01
    • 2015-12-10
    • 1970-01-01
    相关资源
    最近更新 更多