Как настроить Service Discovery в Docker Swarm с помощью Eureka - PullRequest
0 голосов
/ 02 октября 2018

У меня проблемы с настройкой обнаружения службы в роутере Docker.

Я создал роя Docker на машине с Linux:

docker swarm init --advertise-addr 192.172.123.4

Затем создаловерлейная сеть:

docker network create -d overlay my-overlay

Затем добавлены три услуги:

docker service create --replicas 1 --name eureka -p 8761:8761 --network my-overlay eureka

docker service create --replicas 1 --name zuul -p 8761:8761 --network my-overlay zuul

docker service create --replicas 1 --name testapp -p 8761:8761 --network my-overlay testapp

'eureka', 'zuul' и 'testapp' - все образы Docker, которые при независимом запуске все работают вместе и регистрируются в eureka, и я могу взаимодействовать с 'testapp' через прокси-сервер zuul.

Однако ...

Когда я запускаю их как службы в рое, они не регистрируются в Eureka.Когда я захожу на страницу Eureka по адресу 192.172.123.4:8761, я получаю следующее:

Экземпляры, зарегистрированные в настоящее время в Eureka:

Нет экземпляров

Как это сделать?


Это мои конфиги:

zuul:

server.port=8762
spring.application.name=zuul-server
eureka.instance.preferIpAddress=false
eureka.client.registerWithEureka=true
eureka.client.fetchRegistry=true
eureka.serviceurl.defaultzone=http://192.172.123.4:8761/
management.endpoints.web.exposure.include=*

testapp:

server.port=8799
spring.application.name=duplo
eureka.client.registerWithEureka=true
eureka.instance.preferIpAddress=false
eureka.serviceurl.defaultzone=http://192.172.123.4:8761/

эврика:

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

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Я не уверен, что я делал неправильно, но в итоге я последовал этому уроку, и он отлично работал - я бы порекомендовал это как хорошую отправную точку для людей, имеющих проблемы с настройкой стека, подобного этому:

https://github.com/binblee/springcloud-swarm

0 голосов
/ 03 октября 2018

При запуске zuul / eureka через spring-boot будет выдано сообщение об ошибке, если порт уже используется.

Попробуйте связать -p 8762: 8762 для zuul и -p 8799: 8799 для testapp.

Не уверен, если вы получаете сообщение о том, что порт занят ошибкой или нет.

...