1

Ich führe JHipster Registrierung in einem Docker Container. Alle Anwendungen , die auf dem Andockfenster ausgeführt werden, können eine Verbindung herstellen und sich im Registrierungsendpunkt (Port 8761) registrieren.Ich kann keine Verbindung zu jhipster Federregistrierung auf Docker über IDE herstellen

Aber wenn ich versuche, eine Anwendung, die auf meiner Idee zu verbinden, erhalte ich einen Fehler, wenn an die Registrierung Endpunkt zu verbinden versuchen:

2016-07-21 10:35:24.912 INFO 1455 --- [ restartedMain] a.b.p.App2App    : Started App2App in 14.944 seconds (JVM running for 15.912) 
2016-07-21 10:35:24.913 INFO 1455 --- [ restartedMain] a.b.p.App2App    : 
---------------------------------------------------------- 
    Application 'app2' is running! Access URLs: 
    Local:  http://127.0.0.1:8081 
    External: http://192.168.1.104:8081 
---------------------------------------------------------- 
2016-07-21 10:35:24.913 INFO 1455 --- [ restartedMain] a.b.p.App2App    : 
---------------------------------------------------------- 
    Config Server: Connected to the JHipster Registry running in Docker 
---------------------------------------------------------- 
2016-07-21 10:35:24.915 DEBUG 1455 --- [nfoReplicator-0] s.n.www.protocol.http.HttpURLConnection : [email protected] pairs: {GET /config/application/prod/master HTTP/1.1: null}{Accept: application/json, application/*+json}{Authorization: Basic YWRtaW46YWRtaW4=}{User-Agent: Java/1.8.0_65}{Host: localhost:8761}{Connection: keep-alive} 
2016-07-21 10:35:25.057 DEBUG 1455 --- [nfoReplicator-0] s.n.www.protocol.http.HttpURLConnection : [email protected] pairs: {null: HTTP/1.1 200 OK}{Server: Apache-Coyote/1.1}{X-Content-Type-Options: nosniff}{X-XSS-Protection: 1; mode=block}{Cache-Control: no-cache, no-store, max-age=0, must-revalidate}{Pragma: no-cache}{Expires: 0}{X-Application-Context: jhipster-registry:dev,native:8761}{Content-Type: application/json;charset=UTF-8}{Transfer-Encoding: chunked}{Date: Thu, 21 Jul 2016 13:35:24 GMT} 
2016-07-21 10:35:25.058 INFO 1455 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_APP2/app2:cddc722884843f95abdcf09d4996623d: registering service... 
2016-07-21 10:35:25.059 ERROR 1455 --- [nfoReplicator-0] c.n.d.s.t.d.RedirectingEurekaHttpClient : Request execution error 

com.sun.jersey.api.client.ClientHandlerException: java.net.UnknownHostException: registry 
    at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:187) 
    at com.sun.jersey.api.client.filter.GZIPContentEncodingFilter.handle(GZIPContentEncodingFilter.java:123) 
    at com.netflix.discovery.EurekaIdentityHeaderFilter.handle(EurekaIdentityHeaderFilter.java:27) 
    at com.sun.jersey.api.client.Client.handle(Client.java:652) 
    at com.sun.jersey.api.client.WebResource.handle(WebResource.java:682) 
    at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74) 
    at com.sun.jersey.api.client.WebResource$Builder.post(WebResource.java:570) 
    at com.netflix.discovery.shared.transport.jersey.AbstractJerseyEurekaHttpClient.register(AbstractJerseyEurekaHttpClient.java:56) 
    at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$1.execute(EurekaHttpClientDecorator.java:59) 
    at com.netflix.discovery.shared.transport.decorator.MetricsCollectingEurekaHttpClient.execute(MetricsCollectingEurekaHttpClient.java:73) 
    at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56) 
    at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$1.execute(EurekaHttpClientDecorator.java:59) 
    at com.netflix.discovery.shared.transport.decorator.RedirectingEurekaHttpClient.executeOnNewServer(RedirectingEurekaHttpClient.java:118) 
    at com.netflix.discovery.shared.transport.decorator.RedirectingEurekaHttpClient.execute(RedirectingEurekaHttpClient.java:79) 
    at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56) 
    at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$1.execute(EurekaHttpClientDecorator.java:59) 
    at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:119) 
    at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56) 
    at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$1.execute(EurekaHttpClientDecorator.java:59) 
    at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77) 
    at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56) 
    at com.netflix.discovery.DiscoveryClient.register(DiscoveryClient.java:810) 
    at com.netflix.discovery.InstanceInfoReplicator.run(InstanceInfoReplicator.java:103) 
    at com.netflix.discovery.InstanceInfoReplicator$1.run(InstanceInfoReplicator.java:87) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) 
    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.UnknownHostException: registry 
    at java.net.InetAddress.getAllByName0(InetAddress.java:1280) 
    at java.net.InetAddress.getAllByName(InetAddress.java:1192) 
    at java.net.InetAddress.getAllByName(InetAddress.java:1126) 
    at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45) 
    at org.apache.http.impl.conn.DefaultClientConnectionOperator.resolveHostname(DefaultClientConnectionOperator.java:259) 
    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:159) 
    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:882) 
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:117) 
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55) 
    at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:173) 
    ... 30 common frames omitted 

2016-07-21 10:35:25.059 WARN 1455 --- [nfoReplicator-0] c.n.d.s.t.d.RetryableEurekaHttpClient : Request execution failure 
2016-07-21 10:35:25.060 WARN 1455 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_APP2/app2:cddc722884843f95abdcf09d4996623d - registration failed Cannot execute request on any known server 

com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server 
    at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:111) 
    at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56) 
    at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$1.execute(EurekaHttpClientDecorator.java:59) 
    at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77) 
    at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56) 
    at com.netflix.discovery.DiscoveryClient.register(DiscoveryClient.java:810) 
    at com.netflix.discovery.InstanceInfoReplicator.run(InstanceInfoReplicator.java:103) 
    at com.netflix.discovery.InstanceInfoReplicator$1.run(InstanceInfoReplicator.java:87) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) 
    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) 

2016-07-21 10:35:25.060 WARN 1455 --- [nfoReplicator-0] c.n.discovery.InstanceInfoReplicator  : There was a problem with the instance info replicator 

com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server 
    at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:111) 
    at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56) 
    at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$1.execute(EurekaHttpClientDecorator.java:59) 
    at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77) 
    at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56) 
    at com.netflix.discovery.DiscoveryClient.register(DiscoveryClient.java:810) 
    at com.netflix.discovery.InstanceInfoReplicator.run(InstanceInfoReplicator.java:103) 
    at com.netflix.discovery.InstanceInfoReplicator$1.run(InstanceInfoReplicator.java:87) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) 
    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) 

Die Anwendung (siehe es in Protokollen) registrieren verbindet, aber Danach erhalte ich den Fehler:

Hat jemand wissen, wie kann ich eine Verbindung zu einer Registrierung im Docker laufen?

Meine Feder application.yml ist:

eureka: 
    instance: 
     prefer-ip-address: true 
    client: 
     enabled: true 
     healthcheck: 
      enabled: true 
     registerWithEureka: true 
     fetchRegistry: true 
     serviceUrl: 
      defaultZone: http://admin:[email protected]:8761/eureka/ 

Die Standardzone in jhipster-Registry ist http://user:[email protected]:8761/eureka.

Wenn ich auf localhost ändern, wie folgt aus:

eureka: 
    client: 
     serviceUrl: 
      defaultZone: http://admin:[email protected]:8761/eureka/ 

Es funktioniert, aber in diesem Fall sind die Dienste in Docker ausgeführt wird, kann nicht auf die Registrierung zugreifen (Reverse Problem).

Danke!

+0

In IDEA muss ich immer das Arbeitsverzeichnis MODULE_DIR im Laufziel konfigurieren, andernfalls App fehlschlägt, seine Konfigurationsdatei zu finden. Außerdem ist die wichtige Datei bootstrap.yml nicht application.yml, da die Registrierung auch ein Spring Cloud-Konfigurationsserver ist. –

+0

@ GaëlMarziou der Klassenpfad des Moduls? Hier sind die Konfigurationsdateien und die Konfiguration in IDEA: https://gist.github.com/cavarzan/6b27476baaf8f4dfefc347c9d51931fb –

+0

Arbeitsverzeichnis und es sieht gut aus, was ich sehe. Es tut mir leid, dass ich Ihnen nicht mehr helfen kann. Ich benutze Docker nicht, um JHipster Microservices zu betreiben. Ich bevorzuge es, sie direkt in Java auszuführen, es ist einfacher zu debuggen. –

Antwort

0

Ich hatte ein ähnliches Problem. In 3.5.0 konnte ich die Docker-basierte Registrierung erfolgreich starten und starte dann nicht Docker-Versionen eines Microservice und eines Gateways. Mit 3.5.1 war ich nicht mehr dazu in der Lage, den gleichen Fehler zu bekommen, den Sie bekommen. Ich denke, es ist mit https://github.com/jhipster/generator-jhipster/pull/3848 verwandt. In jedem Fall habe ich gerade einen Eintrag in meine/etc/hosts-Datei hinzugefügt, der auf "127.0.0.1" auf "registry" verweist, und es hat funktioniert.

0

Der Localhost auf Docker, der Microservice ausgeführt wird, ist nicht der gleiche Localhost auf Docker, die Registrierung ausgeführt wird. Ich änderte den localhost zur Intranetadresse des Gastgebers, es ist Arbeit für mich.

eureka: 
    instance: 
     prefer-ip-address: true 
    client: 
     service-url: 
      defaultZone: http://admin:${jhipster.registry.password}@10.31.224.228:8761/eureka/ 
Verwandte Themen