Dockerize MIcro-Service не зарегистрирован в Eureka Server

Мой микросервис работает нормально. И в разработке это правильно зарегистрироваться на сервере Eureka-Naming. Когда я развертываю свой service и eureka-server в два разных контейнера, мой микросервис не регистрируется на eureka-server. Все мое файлы конфигурации и свойств приведены ниже --

Eureka-Service dockerfile-
------------------------------------------------------------------
FROM openjdk:8u181-jdk-stretch
MAINTAINER Test "[email protected]"
EXPOSE 8761
COPY maven/netflix-eureka-naming-server-0.0.1-SNAPSHOT.jar 
netflix-eureka-naming-server.jar 
CMD ["java","-jar","netflix-eureka-naming-server.jar"]
------------------------------------------------------------

customer-account-mysql dockerfile-
-------------------------------------------------------------
FROM openjdk:8u181-jdk-stretch
MAINTAINER Test "[email protected]"
EXPOSE 8100
COPY maven/customer-account-mysql-0.0.1-SNAPSHOT.jar customer- 
account-mysql.jar 
CMD ["java","-jar","customer-account-mysql.jar"]
---------------------------------------------------------------

Compose File for customer-account-mysql and Eureka Server
--------------------------------------------------------------
customer-account-mysql:
  image: customer-account-mysql
  networks: 
     - customer-network
  ports:
     - 8100:8100
  depends_on:
     - netflix-eureka-naming-server
netflix-eureka-naming-server:
  image: netflix-eureka-naming-server
  networks: 
     - customer-network
  ports:
     - 8761:8761
-------------------------------------------------------

Properties file of customer-account-mysql
-----------------------------------------------------
spring.application.name=customer-account-mysql
server.port=8100
eureka.client.service-url.default-zone=http://netflix-eureka- 
naming-server:8761/eureka/
------------------------------------------------------------

Properties file of eureka-server
---------------------------------------------------------
spring.application.name=netflix-eureka-naming-server
server.port=8761
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.server.enableSelfPreservation=false

---------------------------------------------------------

But customer-account-mysql service is not registering in the 
Eureka-Server. I have inspect the log on the customer-account- 
mysql container.
Following error I was getting..
Error--------------
 ----------------------------------------------------------------
2019-02-06 06:27:33.248 ERROR [customer-account-mysql,,,] 1 --- 
[nfoReplicator-0] c.n.d.s.t.d.RedirectingEurekaHttpClient  : 
Request execution error. endpoint=DefaultEndpoint{ 
serviceUrl='http://localhost:8761/eureka/}
com.sun.jersey.api.client.ClientHandlerException: 
java.net.ConnectException: Connection refused (Connection refused)
at com.sun.jersey.client.apache4.
ApacheHttpClient4Handler.handle(ApacheH 
ttpClient4Handler.java:187) ~[jersey-apache-client4- 
1.19.1.jar!/:1.19.1]
at 

----------------------------------------------------------------

Моя учетная запись клиента-mysql пытается подключиться к http://локальный:8761/эврика/. Где я четко упоминаю значение по умолчанию zone в файле свойств customer-account-mysql. Это eureka.client.service-url.default-zone=http://netflix-eureka- сервер имен: 8761/eureka/

Please help me to register my micro-service in the eureka 
server.
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Версия Java на основе версии загрузки
Версия Java на основе версии загрузки
Если вы зайдете на официальный сайт Spring Boot , там представлен start.spring.io , который упрощает создание проектов Spring Boot, как показано ниже.
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
1
0
1 066
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Я думаю, что это должен быть eureka.client.serviceUrl.defaultZone, как указано в документация, а не eureka.client.service-url.default-zone. Ваше приложение не использует это свойство, поэтому оно возвращается к значению по умолчанию, которое равно localhost:8761.

Блестящий ответ. Я не знаю, почему STS IDE вызывает service-url.default-zone, и это было так сложно выяснить...

Wayne Wei 07.08.2019 07:19

В файле docker-compose на клиентской службе eureka поместите это:

environment:
    EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://netflix-eureka-naming-server:8761/eureka/

Другие вопросы по теме