Невозможно зарегистрировать сервис в Eureka, используя Docker compose - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь что-то написать, используя архитектуру микросервисов. Я создал Dockerfiles для каждого моего Сервиса. Давайте предположим, что у меня сейчас только 2 микросервиса: Eureka и Gateway. Я пытаюсь зарегистрировать сервис Gateway в Eureka.

Вот свойства Gateway:

server:
  port: 8000
zuul:
  prefix: /api
  routes:
    multiplications:
      path: /multiplications/**
      serviceId: multiplication
      strip-prefix: false
    results:
      path: /results/**
      serviceId: multiplication
      strip-prefix: false
    leaders:
      path: /leaders/**
      serviceId: gamification
      strip-prefix: false

endpoints:
  trace:
    sensitive: false

eureka:
  client:
    service-url:
     default-zone: http://service-registry:8761/eureka/

Вот свойства Эврики:

server:
  port: 8761

Я использую Docker compose для своих контейнеров. Вот докер-compose.yml

version: "3"
services:
        service-registry:
                        build:
                                context: service-registry
                        image: service-registry:latest
                        ports:
                          - "8761:8761"
                        networks:
                                - backend
        gateway:
                        build:
                                context: gateway
                        image: gateway:latest
                        depends_on:
                                - service-registry
                        ports:
                          - "8000:8000"
                        networks:
                                - backend
networks:
  backend:
    driver: bridge

Вот исключение из журналов:

com.netflix.discovery.shared.transport.TransportException: Невозможно выполнить запрос на любом известном сервере

Я не знаю, что с этим делать. Я попытался изменить хост eureka на localhost, но он не работает.

1 Ответ

0 голосов
/ 18 марта 2019

Аналогичная проблема опубликована в Приложения не регистрируются в eureka при использовании docker-compose

Решение - измените default-zone на defaultZone в конфигурации шлюза. Это помогло мне, когда я попытался запустить свои службы в контейнерах докера.

Я не знаю, почему это так работает - если у кого-то есть информация, напишите ответ ниже ...

...