Eureka из Spring Cloud запущена внутри док-контейнера.Это мой Dockerfile для построения и демонстрации Eureka:
FROM maven:3.5-jdk-8 AS build
COPY src /home/eureka/src
COPY pom.xml /home/eureka
RUN mvn -f /home/eureka/pom.xml clean package
FROM openjdk:8-jdk-alpine
COPY --from=build /home/eureka/target/service-registry-1.0-SNAPSHOT.jar /usr/app/service-registry-1.0-SNAPSHOT.jar
ENTRYPOINT ["java","-jar","/usr/app/service-registry-1.0-SNAPSHOT.jar"]
EXPOSE 8761
Это мой файл для создания докера:
version: '2.1'
services:
eureka-service-registry-app:
build: eureka-service-registry-app
ports:
- "8761-8761"
В инфраструктуре будет больше приложений, но сейчас они комментируются.
Я запускаю docker-compose up
, процесс выглядит нормально, но когда я хочу проверить веб-панель Eureka по localhost: 8761, этот хост недоступен.Хм, хорошоВ списке моих контейнеров я вижу следующее:
0.0.0.0:32772->8761/tcp
и localhost: 32772 доступен, а Эврика жива.Более того, если я снова начну docker-compose up, этот порт будет увеличен, и новый порт, где Eureka будет доступна, будет 32773. Таким образом, я вижу там некоторую схему, но я не понимаю, как сделать этот порт стабильным и регулярным, как Eureka быланачалось без докера на 8761