Tag: netflix eureka

尤里卡客户在docker集装箱

我有一个尤里卡服务器和两个rest服务(尤里卡客户端)在docker集装箱运行。 如果第一个服务试图访问第二个服务,我得到一个UnknownHostException。 原因是这些服务使用dns服务器无法parsing的容器主机名在eureka服务器上注册。 我认为解决scheme可能是设置docker集装箱的主机名称。 所以我用docker和-h标志来设置主机名: docker run -h project-dev.net9.mycompany.com 但是现在这些服务甚至不能在尤里卡服务器上注册。 我得到这个例外: 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 […]

使用自定义IP从Docker注册到Eureka

我在Docker虚拟机中运行Spring Cloud Eureka。 我有服务注册到它,但他们从Docker虚拟机内使用他们的IP地址,但为了能够正确使用它们,我需要他们使用我可以从虚拟机外部访问的IP地址。 例如,在我的虚拟机内使用172.xxx的寄存器,我可以从我的浏览器使用192.168.xxx访问REST接口,我需要它们注册为192.168.xxx 我如何告诉我的服务注册一个特定的IP地址?

在不使用领事的情况下在docker工人中发现服务

我是新来的docker和微服务。 我已经开始将我的networking应用程序分解成微服务,目前我正在进行手动configuration。 经过一番研究,我遇到了允许服务发现的docker swarm模式。 另外,我遇​​到了其他的服务发现工具,例如Eureka和Consul。 我的主要目标是用服务名称replacecurl调用中的IP地址,并在同一服务的多个实例之间进行负载平衡。 即前例。 curl http://192.168.0.11:8080/来curlhttp:// my-service 我必须保持我的服务语言独立。 请build议,我需要使用领事与docker群进行服务发现,或者我可以做没有领事? 有什么优势?

Springboot客户端无法使用Docker容器标识向Eureka注册

我有几个在Docker数据中心运行的微服务。 我在服务/应用程序中拥有相同的Eurekaconfiguration。 但有些应用程序正在使用它们的eth0 IP地址而不是容器ID进行注册。 我已经尝试将preferIpAddress设置为false但不是一直执行。 没有模式。 在之前的部署过程中注册到容器标识的相同服务在另一个时间被注册到IP。 我希望我的服务始终注册其容器ID。 有没有办法强制执行或我错过了什么? 注意:我也清除了registry,部署节点中的所有旧的docker镜像,并从头开始尝试。 尤里卡服务器configuration: eureka: instance: hostname: discovery client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://${eureka.instance.hostname}:8761/eureka/ 微服务客户端configuration(所有的微服务都是一样的) eureka: client: healthcheck: enabled: true serviceUrl: defaultZone: http://discovery:8761/eureka/ instance: preferIpAddress: false metadataMap: instanceId: ${vcap.application.instance_id:${spring.application.name}:${spring.application.instance_id:${random.value}}} 尤里卡仪表板快照: