Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rest 运行docker容器时,eureka无法注册客户端应用程序,尽管在本地,系统按预期工作_Rest_Spring Boot_Docker_Https_Netflix Eureka - Fatal编程技术网

Rest 运行docker容器时,eureka无法注册客户端应用程序,尽管在本地,系统按预期工作

Rest 运行docker容器时,eureka无法注册客户端应用程序,尽管在本地,系统按预期工作,rest,spring-boot,docker,https,netflix-eureka,Rest,Spring Boot,Docker,Https,Netflix Eureka,我正在开发microservice应用程序,目前我有以下服务: 发现(eureka服务器) 身份验证服务(Eureka客户端) 我在HTTPS上运行所有服务,出于同样的目的,我为每个服务创建了密钥库和cer文件,并在每个服务的密钥库中导入cer 下面是我如何创建密钥库和cer文件的详细信息: 2020-01-02 13:10:02.591 ERROR [authservice,,,] [authservice,,,] 1 --- [freshExecutor-0] c.n.d.s.t.d.Red

我正在开发microservice应用程序,目前我有以下服务:

  • 发现(eureka服务器)
  • 身份验证服务(Eureka客户端)
  • 我在HTTPS上运行所有服务,出于同样的目的,我为每个服务创建了密钥库和cer文件,并在每个服务的密钥库中导入cer

    下面是我如何创建密钥库和cer文件的详细信息:

    2020-01-02 13:10:02.591 ERROR [authservice,,,] [authservice,,,] 1 --- [freshExecutor-0] c.n.d.s.t.d.RedirectingEurekaHttpClient  : Request execution error. endpoint=DefaultEndpoint{ serviceUrl='https://localhost:8761/eureka/}
    authservice_1  |
    authservice_1  | com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused (Connection refused)
    authservice_1  |        at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:187)
    authservice_1  |        at com.sun.jersey.api.client.Client.handle(Client.java:652)
    authservice_1  |        at com.sun.jersey.api.client.WebResource.handle(WebResource.java:682)
    authservice_1  |        at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
    authservice_1  |        at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:509)
    authservice_1  |        at com.netflix.discovery.shared.transport.jersey.AbstractJerseyEurekaHttpClient.getApplicationsInternal(AbstractJerseyEurekaHttpClient.java:194)
    authservice_1  |        at com.netflix.discovery.shared.transport.jersey.AbstractJerseyEurekaHttpClient.getApplications(AbstractJerseyEurekaHttpClient.java:165)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$6.execute(EurekaHttpClientDecorator.java:137)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.MetricsCollectingEurekaHttpClient.execute(MetricsCollectingEurekaHttpClient.java:73)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getApplications(EurekaHttpClientDecorator.java:134)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$6.execute(EurekaHttpClientDecorator.java:137)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.RedirectingEurekaHttpClient.executeOnNewServer(RedirectingEurekaHttpClient.java:118)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.RedirectingEurekaHttpClient.execute(RedirectingEurekaHttpClient.java:79)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getApplications(EurekaHttpClientDecorator.java:134)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$6.execute(EurekaHttpClientDecorator.java:137)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:120)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getApplications(EurekaHttpClientDecorator.java:134)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$6.execute(EurekaHttpClientDecorator.java:137)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getApplications(EurekaHttpClientDecorator.java:134)
    authservice_1  |        at com.netflix.discovery.DiscoveryClient.getAndStoreFullRegistry(DiscoveryClient.java:1069)
    authservice_1  |        at com.netflix.discovery.DiscoveryClient.fetchRegistry(DiscoveryClient.java:983)
    authservice_1  |        at com.netflix.discovery.DiscoveryClient.refreshRegistry(DiscoveryClient.java:1497)
    authservice_1  |        at com.netflix.discovery.DiscoveryClient$CacheRefreshThread.run(DiscoveryClient.java:1464)
    authservice_1  |        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    authservice_1  |        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    authservice_1  |        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    authservice_1  |        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    authservice_1  |        at java.lang.Thread.run(Thread.java:748)
    authservice_1  | Caused by: java.net.ConnectException: Connection refused (Connection refused)
    authservice_1  |        at java.net.PlainSocketImpl.socketConnect(Native Method)
    authservice_1  |        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    authservice_1  |        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    authservice_1  |        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    authservice_1  |        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    authservice_1  |        at java.net.Socket.connect(Socket.java:607)
    authservice_1  |        at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:368)
    authservice_1  |        at com.netflix.discovery.shared.transport.jersey.SSLSocketFactoryAdapter.connectSocket(SSLSocketFactoryAdapter.java:59)
    authservice_1  |        at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:415)
    authservice_1  |        at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
    authservice_1  |        at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144)
    authservice_1  |        at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:134)
    authservice_1  |        at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:605)
    authservice_1  |        at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:440)
    authservice_1  |        at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
    authservice_1  |        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:118)
    authservice_1  |        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
    authservice_1  |        at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:173)
    authservice_1  |        ... 28 common frames omitted
    
    要为发现创建密钥库,请执行以下操作:

    要为authenticationservice创建密钥库,请执行以下操作:

    要创建用于查找的cer文件,请执行以下操作:

    spring:
       application:
          name: ${EUREKA_APPLICATION_NAME:estri-eureka}
    server:
       port: ${SERVER_PORT:8761}
       ssl:
          enabled: true
          key-store: classpath:eureka.p12
          key-store-password: eurekaserver
          trust-store: classpath:eureka.p12
          trust-store-password: eurekaserver
          key-alias: eureka-app
    eureka:
       client:
          register-with-eureka: ${BOOL_REGISTER:false}
          fetchRegistry: ${BOOL_FETCH:false}
          enabled: true
          serviceUrl:
             defaultZone: https://localhost:8761/eureka/
       instance:
          hostname: ${HOST_NAME:localhost}
          secure-port-enabled: true
          health-check-url: http://${eureka.instance.hostname}:${eureka.instance.secure-port}/ctx/health
          status-page-url: http://${eureka.instance.hostname}:${eureka.instance.secure-port}/ctx/info
          home-page-url: http://${eureka.instance.hostname}:${eureka.instance.secure-port}/ctx
       server:
          enable-self-preservation: ${SELF_PRESERVATION:false}
    
    要为authenticationservice创建cer文件,请执行以下操作:

    keytool-export-alias authservice app-file authservice.cer-keystore
    authservice.p12

    然后导出我在以下命令中使用的证书:

    下面是查找的application.yml配置:

    spring:
       application:
          name: ${EUREKA_APPLICATION_NAME:estri-eureka}
    server:
       port: ${SERVER_PORT:8761}
       ssl:
          enabled: true
          key-store: classpath:eureka.p12
          key-store-password: eurekaserver
          trust-store: classpath:eureka.p12
          trust-store-password: eurekaserver
          key-alias: eureka-app
    eureka:
       client:
          register-with-eureka: ${BOOL_REGISTER:false}
          fetchRegistry: ${BOOL_FETCH:false}
          enabled: true
          serviceUrl:
             defaultZone: https://localhost:8761/eureka/
       instance:
          hostname: ${HOST_NAME:localhost}
          secure-port-enabled: true
          health-check-url: http://${eureka.instance.hostname}:${eureka.instance.secure-port}/ctx/health
          status-page-url: http://${eureka.instance.hostname}:${eureka.instance.secure-port}/ctx/info
          home-page-url: http://${eureka.instance.hostname}:${eureka.instance.secure-port}/ctx
       server:
          enable-self-preservation: ${SELF_PRESERVATION:false}
    
    下面是authservice的application.yml配置:

    注意-我使用主机名将服务注册到eureka,而不是Ip地址。通过上述配置,我能够在本地系统上按预期运行系统

    但是,当我为服务创建容器并尝试运行应用程序时,我遇到了一个错误

    以下是配置

    authservice的Dockerfile

    DockerfileforDiscovery

    Docker编写文件如下

    version: '3.3'
    services:
       discovery:
          image: discovery
          ports:
            - 8761:8761
          networks:
            - estri_gateway_network
          environment:
            EUREKA_APPLICATION_NAME: eureka
            HOST_NAME: localhost
       authservice:
          image: authservice
          ports:
            - 8081:8081
          networks:
            - estri_gateway_network
          deploy:
             replicas: 1
             #endpoint-mode: dnsrr
          environment:
            HOST_NAME: localhost
    
    
    
    networks:
      estri_gateway_network: 
    
    现在,当我运行上述docker compose文件时,我得到以下错误:

    2020-01-02 13:10:02.591 ERROR [authservice,,,] [authservice,,,] 1 --- [freshExecutor-0] c.n.d.s.t.d.RedirectingEurekaHttpClient  : Request execution error. endpoint=DefaultEndpoint{ serviceUrl='https://localhost:8761/eureka/}
    authservice_1  |
    authservice_1  | com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused (Connection refused)
    authservice_1  |        at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:187)
    authservice_1  |        at com.sun.jersey.api.client.Client.handle(Client.java:652)
    authservice_1  |        at com.sun.jersey.api.client.WebResource.handle(WebResource.java:682)
    authservice_1  |        at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
    authservice_1  |        at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:509)
    authservice_1  |        at com.netflix.discovery.shared.transport.jersey.AbstractJerseyEurekaHttpClient.getApplicationsInternal(AbstractJerseyEurekaHttpClient.java:194)
    authservice_1  |        at com.netflix.discovery.shared.transport.jersey.AbstractJerseyEurekaHttpClient.getApplications(AbstractJerseyEurekaHttpClient.java:165)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$6.execute(EurekaHttpClientDecorator.java:137)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.MetricsCollectingEurekaHttpClient.execute(MetricsCollectingEurekaHttpClient.java:73)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getApplications(EurekaHttpClientDecorator.java:134)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$6.execute(EurekaHttpClientDecorator.java:137)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.RedirectingEurekaHttpClient.executeOnNewServer(RedirectingEurekaHttpClient.java:118)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.RedirectingEurekaHttpClient.execute(RedirectingEurekaHttpClient.java:79)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getApplications(EurekaHttpClientDecorator.java:134)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$6.execute(EurekaHttpClientDecorator.java:137)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:120)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getApplications(EurekaHttpClientDecorator.java:134)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$6.execute(EurekaHttpClientDecorator.java:137)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getApplications(EurekaHttpClientDecorator.java:134)
    authservice_1  |        at com.netflix.discovery.DiscoveryClient.getAndStoreFullRegistry(DiscoveryClient.java:1069)
    authservice_1  |        at com.netflix.discovery.DiscoveryClient.fetchRegistry(DiscoveryClient.java:983)
    authservice_1  |        at com.netflix.discovery.DiscoveryClient.refreshRegistry(DiscoveryClient.java:1497)
    authservice_1  |        at com.netflix.discovery.DiscoveryClient$CacheRefreshThread.run(DiscoveryClient.java:1464)
    authservice_1  |        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    authservice_1  |        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    authservice_1  |        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    authservice_1  |        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    authservice_1  |        at java.lang.Thread.run(Thread.java:748)
    authservice_1  | Caused by: java.net.ConnectException: Connection refused (Connection refused)
    authservice_1  |        at java.net.PlainSocketImpl.socketConnect(Native Method)
    authservice_1  |        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    authservice_1  |        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    authservice_1  |        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    authservice_1  |        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    authservice_1  |        at java.net.Socket.connect(Socket.java:607)
    authservice_1  |        at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:368)
    authservice_1  |        at com.netflix.discovery.shared.transport.jersey.SSLSocketFactoryAdapter.connectSocket(SSLSocketFactoryAdapter.java:59)
    authservice_1  |        at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:415)
    authservice_1  |        at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
    authservice_1  |        at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144)
    authservice_1  |        at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:134)
    authservice_1  |        at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:605)
    authservice_1  |        at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:440)
    authservice_1  |        at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
    authservice_1  |        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:118)
    authservice_1  |        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
    authservice_1  |        at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:173)
    authservice_1  |        ... 28 common frames omitted
    

    这里的任何帮助都将不胜感激。提前谢谢

    Docker容器无法使用
    localhost
    与其他容器通信,但它们可以使用其服务名称进行通信,并且您的eureka服务器的服务名称是Docker compose文件上的
    discovery

    您已经有一个名为
    EUREKA_URI
    的环境变量,可以在authservice的application.yml上设置EUREKA服务器的完整URL(选中
    EUREKA.client.serviceUrl.defaultZone
    variable)

    最好将
    HOST\u NAME
    设置为docker服务名称。这样authservice就可以告诉eureka服务器它的主机名在Docker网络上工作

    eureka:
       instance:
          nonSecurePortEnabled: false
          securePortEnabled: true
          securePort: ${server.port}
          statusPageUrl: https://${HOST_NAME:localhost}:${server.port}/actuator/info
          healthCheckUrl: https://${HOST_NAME:localhost}:${server.port}/actuator/health
          homePageUrl: https://${HOST_NAME:localhost}:${server.port}/home
          hostname: ${HOST_NAME:localhost}
          #preferIpAddress: true
       client:
          serviceUrl:
             defaultZone: ${EUREKA_URI:https://${eureka.instance.hostname}:8761/eureka/}
          registry-fetch-interval-seconds: 5
          register-with-eureka: true
          fetch-registry: true
          heartbeat-executor-thread-pool-size: 5
          eureka-service-url-poll-interval-seconds: 10
    
    FROM openjdk:8
    EXPOSE 8081
    ENV APP_HOME /authservice
    ADD target/*.jar authservice.jar
    ENTRYPOINT ["java","-jar","authservice.jar"]
    
    FROM openjdk:8
    EXPOSE 8761
    ENV APP_HOME /discovery
    ADD target/*.jar discovery.jar
    ENTRYPOINT ["java","-jar","discovery.jar"]
    
    version: '3.3'
    services:
       discovery:
          image: discovery
          ports:
            - 8761:8761
          networks:
            - estri_gateway_network
          environment:
            EUREKA_APPLICATION_NAME: eureka
            HOST_NAME: localhost
       authservice:
          image: authservice
          ports:
            - 8081:8081
          networks:
            - estri_gateway_network
          deploy:
             replicas: 1
             #endpoint-mode: dnsrr
          environment:
            HOST_NAME: localhost
    
    
    
    networks:
      estri_gateway_network: 
    
    2020-01-02 13:10:02.591 ERROR [authservice,,,] [authservice,,,] 1 --- [freshExecutor-0] c.n.d.s.t.d.RedirectingEurekaHttpClient  : Request execution error. endpoint=DefaultEndpoint{ serviceUrl='https://localhost:8761/eureka/}
    authservice_1  |
    authservice_1  | com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused (Connection refused)
    authservice_1  |        at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:187)
    authservice_1  |        at com.sun.jersey.api.client.Client.handle(Client.java:652)
    authservice_1  |        at com.sun.jersey.api.client.WebResource.handle(WebResource.java:682)
    authservice_1  |        at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
    authservice_1  |        at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:509)
    authservice_1  |        at com.netflix.discovery.shared.transport.jersey.AbstractJerseyEurekaHttpClient.getApplicationsInternal(AbstractJerseyEurekaHttpClient.java:194)
    authservice_1  |        at com.netflix.discovery.shared.transport.jersey.AbstractJerseyEurekaHttpClient.getApplications(AbstractJerseyEurekaHttpClient.java:165)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$6.execute(EurekaHttpClientDecorator.java:137)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.MetricsCollectingEurekaHttpClient.execute(MetricsCollectingEurekaHttpClient.java:73)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getApplications(EurekaHttpClientDecorator.java:134)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$6.execute(EurekaHttpClientDecorator.java:137)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.RedirectingEurekaHttpClient.executeOnNewServer(RedirectingEurekaHttpClient.java:118)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.RedirectingEurekaHttpClient.execute(RedirectingEurekaHttpClient.java:79)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getApplications(EurekaHttpClientDecorator.java:134)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$6.execute(EurekaHttpClientDecorator.java:137)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:120)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getApplications(EurekaHttpClientDecorator.java:134)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$6.execute(EurekaHttpClientDecorator.java:137)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77)
    authservice_1  |        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getApplications(EurekaHttpClientDecorator.java:134)
    authservice_1  |        at com.netflix.discovery.DiscoveryClient.getAndStoreFullRegistry(DiscoveryClient.java:1069)
    authservice_1  |        at com.netflix.discovery.DiscoveryClient.fetchRegistry(DiscoveryClient.java:983)
    authservice_1  |        at com.netflix.discovery.DiscoveryClient.refreshRegistry(DiscoveryClient.java:1497)
    authservice_1  |        at com.netflix.discovery.DiscoveryClient$CacheRefreshThread.run(DiscoveryClient.java:1464)
    authservice_1  |        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    authservice_1  |        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    authservice_1  |        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    authservice_1  |        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    authservice_1  |        at java.lang.Thread.run(Thread.java:748)
    authservice_1  | Caused by: java.net.ConnectException: Connection refused (Connection refused)
    authservice_1  |        at java.net.PlainSocketImpl.socketConnect(Native Method)
    authservice_1  |        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    authservice_1  |        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    authservice_1  |        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    authservice_1  |        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    authservice_1  |        at java.net.Socket.connect(Socket.java:607)
    authservice_1  |        at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:368)
    authservice_1  |        at com.netflix.discovery.shared.transport.jersey.SSLSocketFactoryAdapter.connectSocket(SSLSocketFactoryAdapter.java:59)
    authservice_1  |        at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:415)
    authservice_1  |        at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
    authservice_1  |        at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144)
    authservice_1  |        at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:134)
    authservice_1  |        at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:605)
    authservice_1  |        at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:440)
    authservice_1  |        at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
    authservice_1  |        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:118)
    authservice_1  |        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
    authservice_1  |        at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:173)
    authservice_1  |        ... 28 common frames omitted
    
       authservice:
          image: authservice
          ports:
            - 8081:8081
          networks:
            - estri_gateway_network
          deploy:
             replicas: 1
             #endpoint-mode: dnsrr
          environment:
            HOST_NAME: authservice
            EUREKA_URI: https://discovery:8761/eureka