2017-11-28 13 views
1

유레카 서버가 하나 있습니다.Eureka 클라이언트가 Eureka 서버에 연결하지 않았습니다.

server: 
    port: 8761 
eureka: 
    client: 
    registerWithEureka: false 
    fetchRegistry: false 

유레카 클라이언트가 하나 있습니다.

spring: 
    application: 
    name: mysearch 
server: 
    port: 8020 
eureka: 
    client: 
    serviceUrl: 
     defaultZone: http://localhost:8761/eureka 
    instance: 
    preferIpAddress: true 

내 유레카 클라이언트가 도커 컨테이너에서 실행 중입니다.

FROM java:8 
COPY ./mysearch.jar /var/tmp/app.jar 
EXPOSE 8180 
CMD ["java","-jar","/var/tmp/app.jar"] 

은 내가 sudo docker build -t web .sudo docker run -p 8180:8020 -it web를 사용하여 유레카 클라이언트의 고정 표시기 인스턴스를 시작하고 그 후 java -jar eureka-server.jar 하여 유레카 서버를 시작하고있다. 브라우저에서 유레카 클라이언트와 서버에 액세스 할 수 있지만 클라이언트가 유레카 서버에 연결되어 있지 않습니다. 유레카 서버 대시 보드에서 클라이언트를 볼 수 없습니다. 오류 및 경고 아래에 있습니다.

WARN 1 --- [tbeatExecutor-0] c.n.d.s.t.d.RetryableEurekaHttpClient : Request execution failed with message: java.net.ConnectException: Connection refused (Connection refused) 
ERROR 1 --- [tbeatExecutor-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_FLIGHTSEARCH/98b0d95fd668:flightsearch:8020 - was unable to send heartbeat! 
INFO 1 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_FLIGHTSEARCH/98b0d95fd668:flightsearch:8020: registering service... 
ERROR 1 --- [nfoReplicator-0] c.n.d.s.t.d.RedirectingEurekaHttpClient : Request execution error 
WARN 1 --- [nfoReplicator-0] c.n.d.s.t.d.RetryableEurekaHttpClient : Request execution failed with message: java.net.ConnectException: Connection refused (Connection refused) 
WARN 1 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_FLIGHTSEARCH/98b0d95fd668:flightsearch:8020 - registration failed Cannot execute request on any known server 
WARN 1 --- [nfoReplicator-0] c.n.discovery.InstanceInfoReplicator  : There was a problem with the instance info replicator 

AWS EC2 Ubuntu 인스턴스에서이 작업을 수행하고 있습니다. 아무도 내가 여기서 뭘 잘못하고 있다고 말할 수 있습니까?

답변

0

서버 : 포트 : - "8761 : 8761은" 유레카 : 클라이언트 : registerWithEureka : 거짓 fetchRegistry : 8761 포트 위의 변경에

거짓이 호스트에 excpose하고 서버에 연결할 수 있습니다. 호스트에서 포트 8761을 검색하는 로컬 호스트 "http://localhost:8761/eureka"을 사용하여 연결로 을 입력하십시오. localhost 대신 유레카 클라이언트 설정을 사용 호스트의 IP에서

, 사용하는 로컬 호스트 경우가 답장을

http://hostip:8761/eureka

+0

감사 컨테이너 내의 포트 8761에 대한 검색이기 때문에. 유레카 서버 yml 파일에 변경 내용을 넣으려고했습니다. 그러나 일식은 "포트"가 올바르지 않다고 말하고있다. 그리고 내가 포트를 주면 : 8761 : 8761 유레카 서버가 가져 가지 않습니다. 서버가 내장 된 바람둥이의 8080 포트로 노출되고 있습니다. 사실 나는이 모든 것을 처음 접했어. 당신이 말하는 것을 제대로 듣지 못할 수도 있습니다. 내가 넣을 수있는 정확한 값을 주시겠습니까? – Tanmoy

+0

죄송합니다. 실제로는 유레카 설정 파일 인 docker 작성 파일이라고 생각하여 포트 번호 8761을 사용하십시오. 하지만 docker에서 http : // hostip : 8761/eureka를 사용하여 서버 자체에 연결하려고 시도하기 전에 클라이언트에서 –

+0

감사합니다 ... hostip이 완벽하게 작동합니다 ... – Tanmoy