У меня есть один сервер eureka внутри док-контейнера и другое приложение внутри другого док-контейнера. Я создал сеть, используя docker network create eureka-s1
. Итак, я запускаю сервер eureka с помощью команды: docker run --network eureka-s1 --name eureka-server -p 8761:8761 f595acb214d5
Файл конфигурации сервера eureka выглядит следующим образом:
spring:
application:
name: discovery-service
eureka:
instance:
prefer-ip-address:true
hostname:localhost
client:
eureka-server-connect-timeout-seconds: 5
enabled: true
fetch-registry: false
register-with-eureka: false
server:
port: 8761
Значит, работает нормально. Теперь, когда я запускаю свое приложение с помощью команды: docker run --network eureka-s1 --name first-service -p 8080:8080 c16b2442b890
, приложение не регистрируется в eureka. Конфигурационный файл клиента выглядит следующим образом:
spring:
application:
name: first-service
server:
port: 8080
eureka:
client:
fetch-registry: true
serviceUrl:
defaultZone: http://eureka-server:8761/eureka
Может ли кто-нибудь указать на проблему здесь? Спасибо.
Редактировать: Eureka Server Dockerfile:
FROM openjdk:8
ADD target/cloud-eureka-discovery-service-1.0.0-SNAPSHOT.jar cloud-eureka-discovery-service-1.0.0-SNAPSHOT.jar
EXPOSE 8761
ENTRYPOINT ["java", "-jar", "cloud-eureka-discovery-service-1.0.0-SNAPSHOT.jar"]
Файл Docker клиента Eureka:
FROM openjdk:8
ADD target/first-service-0.0.1-SNAPSHOT.jar first-service-0.0.1-SNAPSHOT.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "first-service-0.0.1-SNAPSHOT.jar"]