Docker容器中的Eureka客户端

1r3k

我有一个eureka服务器和两个在docker容器中运行的其他服务(eureka客户端)。如果第一个服务尝试访问第二个服务,则会收到UnknownHostException。原因是服务使用dns服务器无法解析的容器主机名在eureka服务器上注册。

我认为解决方案可能是为Docker容器设置主机名。所以我将docker与-h标志一起使用来设置主机名:docker run -h project-dev.net9.mycompany.com

但是现在这些服务甚至无法在eureka服务器上注册。我得到这个异常:

 2015-11-30 12:03:42.182 ERROR 1 --- [pool-2-thread-1]    com.netflix.discovery.DiscoveryClient    : Can't get a response from http://project-dev.net9.mycompany.com:8761/eureka/apps/MY-SERVICE/project-dev.net9.mycompany.com
     Can't contact any eureka nodes - possibly a security group issue?

 com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused
    at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:184)
    at com.sun.jersey.api.client.filter.GZIPContentEncodingFilter.handle(GZIPContentEncodingFilter.java:120)
    at com.netflix.discovery.EurekaIdentityHeaderFilter.handle(EurekaIdentityHeaderFilter.java:28)
    at com.sun.jersey.api.client.Client.handle(Client.java:648)
    at com.sun.jersey.api.client.WebResource.handle(WebResource.java:680)
    at com.sun.jersey.api.client.WebResource.put(WebResource.java:211)
    at com.netflix.discovery.DiscoveryClient.makeRemoteCall(DiscoveryClient.java:1097)
    at com.netflix.discovery.DiscoveryClient.makeRemoteCall(DiscoveryClient.java:1060)
    at com.netflix.discovery.DiscoveryClient.access$500(DiscoveryClient.java:105)
    at com.netflix.discovery.DiscoveryClient$HeartbeatThread.run(DiscoveryClient.java:1583)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    Caused by: java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:117)
    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:177)
    at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144)
    at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:131)
    at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:611)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:446)
    at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:115)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)
    at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:170)
    ... 14 common frames omitted

2015-11-30 12:03:42.182 ERROR 1 --- [pool-2-thread-1] com.netflix.discovery.DiscoveryClient    : DiscoveryClient_MY-SERVICE/project-dev.net9.mycompany.com - was unable to send heartbeat!

com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused
    at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:184)
    at com.sun.jersey.api.client.filter.GZIPContentEncodingFilter.handle(GZIPContentEncodingFilter.java:120)
    at com.netflix.discovery.EurekaIdentityHeaderFilter.handle(EurekaIdentityHeaderFilter.java:28)
    at com.sun.jersey.api.client.Client.handle(Client.java:648)
    at com.sun.jersey.api.client.WebResource.handle(WebResource.java:680)
    at com.sun.jersey.api.client.WebResource.put(WebResource.java:211)
    at com.netflix.discovery.DiscoveryClient.makeRemoteCall(DiscoveryClient.java:1097)
    at com.netflix.discovery.DiscoveryClient.makeRemoteCall(DiscoveryClient.java:1060)
    at com.netflix.discovery.DiscoveryClient.access$500(DiscoveryClient.java:105)
    at com.netflix.discovery.DiscoveryClient$HeartbeatThread.run(DiscoveryClient.java:1583)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:117)
    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:177)
    at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144)
    at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:131)
    at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:611)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:446)
    at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:115)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)
    at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:170)
    ... 14 common frames omitted

在我们的网络中可以访问域project-dev.net9.mycompany.com,我可以对其进行ping操作。

我还可以在http://project-dev.net9.mycompany.com:8761/下访问eureka仪表板因此,eureka服务器正常运行。

我很感谢任何提示。

R0MANARMY

您是否尝试将eureka.instance.prefer-ip-address设置为true?客户端将使用其IP地址而不是其主机名注册自己。

每个建议在这里:问题没有答案,但问题已在评论中解决

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Docker容器中安装mongo客户端

来自分类Dev

如何在Docker容器中运行JavaScript客户端?

来自分类Dev

如何在Docker容器中运行OpenVPN客户端?

来自分类Dev

在Docker容器中安装mongo客户端

来自分类Dev

测试docker容器中的Python mqtt客户端连接到mqtt代理docker容器

来自分类Dev

在Netflix Eureka中创建客户端/服务

来自分类Dev

客户端容器以测试容器中的服务

来自分类Dev

如何从haproxy docker容器内的请求中获取客户端IP?

来自分类Dev

在Docker容器中调用OpenConnect VPN客户端显示TUNSETIFF失败:不允许操作

来自分类Dev

远程客户端无法连接到在Azure VM中运行的Redisai Docker容器

来自分类Dev

如何从haproxy docker容器内的请求中获取客户端IP?

来自分类Dev

具有客户端访问控制的Mongodb Docker容器

来自分类Dev

从静态客户端访问Docker容器的IP地址

来自分类Dev

Docker容器内的IPSEC VPN客户端(Ubuntu)

来自分类Dev

在 tomcat 容器中运行 Hazelcast 客户端

来自分类Dev

将mysql客户端容器连接到mysql服务器容器Docker

来自分类Dev

Docker客户端执行

来自分类Dev

与Docker容器共享Windows文件夹(c / Users /除外)(使用docker Windows客户端)

来自分类Dev

读取客户端证书容器名称

来自分类Dev

如何在docker alpine中安装mongodb客户端?

来自分类Dev

如何在Docker中安装kerberos客户端?

来自分类Dev

如何在 docker alpine 中安装 mongodb 客户端?

来自分类Dev

什么是Eureka服务,Eureka客户端,Eureka实例和Eureka服务器

来自分类Dev

错误:连接到运行中的容器时,客户端网络套接字在建立安全TLS连接之前已断开连接-Docker远程容器

来自分类Dev

如何在Spring Cloud中从客户端配置多个Eureka服务器

来自分类Dev

Docker ps -a没有显示正在运行的已停止的mysql客户端容器

来自分类Dev

无法从Docker容器(node.js客户端)连接到Elasticsearch

来自分类Dev

在Docker客户端中使用默认的容器名称作为默认名称

来自分类Dev

如何让 docker run 将目录从客户端机器带到主机容器?

Related 相关文章

  1. 1

    在Docker容器中安装mongo客户端

  2. 2

    如何在Docker容器中运行JavaScript客户端?

  3. 3

    如何在Docker容器中运行OpenVPN客户端?

  4. 4

    在Docker容器中安装mongo客户端

  5. 5

    测试docker容器中的Python mqtt客户端连接到mqtt代理docker容器

  6. 6

    在Netflix Eureka中创建客户端/服务

  7. 7

    客户端容器以测试容器中的服务

  8. 8

    如何从haproxy docker容器内的请求中获取客户端IP?

  9. 9

    在Docker容器中调用OpenConnect VPN客户端显示TUNSETIFF失败:不允许操作

  10. 10

    远程客户端无法连接到在Azure VM中运行的Redisai Docker容器

  11. 11

    如何从haproxy docker容器内的请求中获取客户端IP?

  12. 12

    具有客户端访问控制的Mongodb Docker容器

  13. 13

    从静态客户端访问Docker容器的IP地址

  14. 14

    Docker容器内的IPSEC VPN客户端(Ubuntu)

  15. 15

    在 tomcat 容器中运行 Hazelcast 客户端

  16. 16

    将mysql客户端容器连接到mysql服务器容器Docker

  17. 17

    Docker客户端执行

  18. 18

    与Docker容器共享Windows文件夹(c / Users /除外)(使用docker Windows客户端)

  19. 19

    读取客户端证书容器名称

  20. 20

    如何在docker alpine中安装mongodb客户端?

  21. 21

    如何在Docker中安装kerberos客户端?

  22. 22

    如何在 docker alpine 中安装 mongodb 客户端?

  23. 23

    什么是Eureka服务,Eureka客户端,Eureka实例和Eureka服务器

  24. 24

    错误:连接到运行中的容器时,客户端网络套接字在建立安全TLS连接之前已断开连接-Docker远程容器

  25. 25

    如何在Spring Cloud中从客户端配置多个Eureka服务器

  26. 26

    Docker ps -a没有显示正在运行的已停止的mysql客户端容器

  27. 27

    无法从Docker容器(node.js客户端)连接到Elasticsearch

  28. 28

    在Docker客户端中使用默认的容器名称作为默认名称

  29. 29

    如何让 docker run 将目录从客户端机器带到主机容器?

热门标签

归档