首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring Cloud Netflix | Eureka部署在ECS上时未注册

问Spring Cloud Netflix | Eureka部署在ECS上时未注册
EN

Stack Overflow用户
提问于 2018-02-27 03:25:20
回答 1查看 449关注 0票数 0

我正在尝试使用ECS和Cloudformation部署Spring Netflix Eureka和相关的微服务应用程序。

Eureka无法注册相关的微服务,因为docker镜像无法链接到主机名上。

请建议什么是处理此问题的最佳解决方案。

EN

回答 1

Stack Overflow用户

发布于 2018-02-27 05:07:39

您应该使用EC2实例的主机ip,而不是docker容器主机的主机ip。在您的微服务(如果是spring boot应用程序)中,放入以下代码:

代码语言:javascript
复制
@Bean
@Profile("docker")
public EurekaInstanceConfigBean eurekaInstanceConfig() {
    EurekaInstanceConfigBean config = new EurekaInstanceConfigBean();
    AmazonInfo info = AmazonInfo.Builder.newBuilder().autoBuild("eureka");
    config.setDataCenterInfo(info);
    info.getMetadata().put(AmazonInfo.MetaDataKey.publicHostname.getName(), info.get(AmazonInfo.MetaDataKey.publicIpv4));
    config.setHostname(info.get(AmazonInfo.MetaDataKey.publicHostname));
    config.setIpAddress(info.get(AmazonInfo.MetaDataKey.publicIpv4));
    config.setNonSecurePort(port);
    return config;
}

记住在spring boot配置中启用'docker‘配置文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48995689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档