Я пытаюсь создать файл docker-compose.yml, из которого я могу использовать загружаемые микросервисы загрузки Spring и подключать их к закрепленному реестру Eureka, но, похоже, проблема с обнаружением микросервисами реестра Eureka Server, несмотря на то, что мои микросервисы ранее подключались к серверу Eureka, в то время как из Eclipse работали только простые приложения .jar.
Сначала я попробовал докеризировать сервер Eureka и шлюз Zuul.
Когда Eureka докеризуется и выполняется как контейнер (с помощью команды docker run -p 8761: 8761), к нему может получить доступ приложение весенней загрузки без докера Zuul gateway.
Когда я выполняю докеризацию и запускаю как контейнерный шлюз Zuul (с помощью docker run -p 8762: 8762), он не распознается на докеризованном сервере Eureka.
Кроме того, поскольку я понял, что может быть проблема с сетью докеров, я решил использовать для этого файл docker-compose и попытался соединить их, используя одну и ту же оверлейную сеть, но, похоже, снова не удалось ,
Кроме того, следует отметить, что когда сервер Eureka и шлюз Zuul докеризированы и работают как контейнеры, к ним можно получить доступ как из браузера, так и из почтальона, но они не видят друг друга.
Это мое приложение-сервис-реестр (сервер Eureka). Свойства
spring.application.name=service-registry
server.port=8761
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.server.wait-time-in-ms-when-sync-empty=0
Это мой api-шлюз (Zuul gateway) соответствующее приложение. Свойства
server.port=8762
spring.application.name=api-gateway
#eureka.client.enabled=false
eureka.client.service-url.default-zone=http://service-registry:8761/eureka/
Это мой Dockerfile для службы регистрации (сервер Eureka)
FROM openjdk:8-jdk-alpine
ADD /target/service-registry-0.0.1-SNAPSHOT.jar service-registry.jar
ENTRYPOINT ["java", "-jar", "/service-registry.jar"]
EXPOSE 8761
Это мой Dockerfile для API-шлюза (Zuul gateway)
FROM openjdk:8-jdk-alpine
ADD target/api-gateway-0.0.1-SNAPSHOT.jar api-gateway.jar
ENTRYPOINT ["java", "-jar", "/api-gateway.jar"]
EXPOSE 8762
Это мой докер-compose.yml
version: '3'
services:
service-registry:
image: ftntim1/xml-booking:service-registry
ports:
- "8761:8761"
networks:
- megatravel-network
api-gateway:
image: ftntim1/xml-booking:api-gateway
ports:
- "8762:8762"
links:
- service-registry
depends_on:
- service-registry
environment:
EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://service-registry:8761/eureka
networks:
- megatravel-network
networks:
megatravel-network:
driver: overlay