引入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-commons</artifactId>
<version>2.0.2.RELEASE</version>
</dependency>
修改配置
spring:
cloud:
inetutils:
preferred-networks: 'xx.xx.xxx.'
获取ip
@Value("${spring.cloud.inetutils.preferred-networks}")
private String ipPrefix;
private String getIpAddress() {
InetUtilsProperties properties = new InetUtilsProperties();
if(properties.getPreferredNetworks().isEmpty()&&StringUtils.isNotBlank(ipPrefix)) {
List<String> list=new ArrayList<>();
list.add(ipPrefix);
properties.setPreferredNetworks(list);
}
properties.setIgnoredInterfaces(Arrays.asList("docker0", "veth.*", ".*VMware.*", ".*VirtualBox.*"));
InetUtils inetUtils = new InetUtils(properties);
String ip = inetUtils.findFirstNonLoopbackHostInfo().getIpAddress();
logger.info("执行器注册ip=={}", ip);
return ip;
}