![](/img/trans.png)
[英]Spring Microservices Cannot Connect Via Eureka When Inside Docker Container
[英]Spring boot microservices are getting registered to Eureka with the pod name as the hostname in the Kubernetes cluster - docker desktop
当 Zull API 网关尝试将请求转发到服务时,微服务将使用 pod 名称作为主机名注册到 Eureka,这会导致 UnknownHostException。
docker-compose 的完整设置工作正常,当我尝试使用 Kubernetes 时,问题正在发生。
例如,订单微服务以“ oc-order-6b64576f4b-7gp85
”的 pod 名称运行,订单微服务以“ oc-order-6b64576f4b-7gp85
”作为主机名注册到 Eureka。 这是导致
java.net.UnknownHostException: oc-order-6b64576f4b-7gp85: Name does not resolve
我只运行每个微服务的一个实例作为 POC 和一个 Eureka 服务器实例。 如何修复,微服务如何使用正确的主机名自行注册它们。
我想使用 Eureka 作为发现服务,因为它与 spring 引导很好地集成,我不想为 Kubernetes 部署进行代码更改。
将以下属性添加到每个服务项目中的 spring 属性文件中:
eureka.instance.hostName=${spring.application.name}
或(如果您想要与 spring 应用程序名称不同的名称)
eureka.instance.hostName=<custom-host-name>
Spring 引导现在将使用 Eureka 中提供的主机名进行注册
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.