解决swarm中eureka注册无法获取主机名

问题分析

目前我们的服务使用的是spring-boot
最早使用的是hostname的方式,发现经常出现hostnamelocalhost,后来直接使用hostname为服务名称但是在eureka中却只显示一个服务,spring-boot注册到eureka配置如下:

问题解决

hostname改为${HOSTNAME}获取系统环境变量就可以获取到主机名了

并且将instance-id改为${HOSTNAME}:${spring.application.name}:${spring.application.instance_id:${server.port}}这样在eureka中不会应为重名导致多服务只显示一个

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器