我在一个docker容器中有一个eureka服务器,在另一个docker容器中有另一个应用程序。我已经使用docker network create eureka-s1
建立了网络。因此,我正在使用以下命令运行eureka服务器:docker run --network eureka-s1 --name eureka-server -p 8761:8761 f595acb214d5
尤里卡服务器的配置文件如下:
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服务器配置中:
eureka.client.serviceUrl.defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
并将以下行添加到您的客户端配置:
eureka.client.register-with-eureka: true