春季启动 Eureka 微服务发现和注册在 docker 中失败



我创建了一个尤里卡服务器微服务和一个普通的微服务,通常当我使用 STS 工具单独运行这两个服务时,服务发现和注册工作正常,但是每当我尝试在 docker 中启动时,注册都会失败。

代码如下 -

尤里卡服务器

应用程序属性

spring.application.name=eureka-service
server.port=8761
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.instance.hostname=eureka-service
eureka.instance.prefer-ip-address=true
eureka.server.wait-time-in-ms-when-sync-empty=0

Dockerfile

FROM openjdk:8
ADD target/SpringEureka-1.0.jar SpringEureka-1.0.jar
EXPOSE 8761
ENTRYPOINT ["java","-jar","SpringEureka-1.0.jar"]

普通微服务

应用程序属性

server.port: 8010
spring.application.name=eureka-client
eureka.client.register-with-eureka=true
eureka.client.fetch-registry= true
eureka.client.service-url.default-zone=http://localhost:8761/eureka/
eureka.client.proxy-host=localhost
eureka.instance.prefer-ip-address=true

Dockerfile

FROM openjdk:8
ADD target/HystrixTest-1.0.jar HystrixTest-1.0.jar
EXPOSE 8010
ENTRYPOINT ["java","-jar","HystrixTest-1.0.jar"]

您是否将 HystrixTest 容器链接到 Eureka Server 容器?

您可以在此处获取更多详细信息:https://docs.docker.com/network/links/

如果您在启动容器时发布 docker-compose 文件或您的 cmd,则更好的问题。

我认为您所做的一切都很好,您只需要使用docker run -P 8761:8761 <your_docker_image>命令。 并将配置从eureka.instance.hostname=eureka-service更改为eureka.instance.hostname=localhost

最新更新