加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

为什么部署在Docker容器上的Spring Cloud Netflix应用程序需要显

发布时间:2020-12-16 03:25:01 所属栏目:安全 来源:网络整理
导读:一个简单的场景: 2台eureka服务器(http://archimedes1 http://archimedes2) 1个配置服务器 1个Zull网关 1个企业微服务 部署在localhost上,一切正常. 我对它们进行了docker化,使其可以在每个应用程序的单独容器上运行,并在Windows上的Docker上进行了测试. 部

一个简单的场景:

> 2台eureka服务器(http://archimedes1 http://archimedes2)
> 1个配置服务器
> 1个Zull网关
> 1个企业微服务

部署在localhost上,一切正常.

我对它们进行了docker化,使其可以在每个应用程序的单独容器上运行,并在Windows上的Docker上进行了测试.

部署(配置服务器,zull和b-ms)后,我看到的是,如果我不为它们中的每一个都指定eureka.instance.hostname,它们将使用无效的URL在Eureka服务器中注册.由于它们获取的URL无效,因此无法彼此调用.

例如:

CONFIGSERVER    n/a (1) (1) UP (1) - 287dd3ada410:configserver:8888

287dd3ada410:configserver:8888指向287dd3ada410:8888 / info.而且这不存在.

要解决此问题,我必须添加到configserver的application.yml(以及其他应用程序的等效文件):

eureka:
  instance:
    hostname: config-server

现在它像这样在尤里卡出现:

CONFIGSERVER    n/a (1) (1) UP (1) - c99cdfe9bd01:configserver:8888

并且c99cdfe9bd01:configserver:8888指向http:// config-server:8888 / info,它现在可以正确解析配置服务器.

为什么每个服务都必须使用eureka.instance.hostname?为什么没有在没有Docker(c99cdfe9bd01:configserver:8888-> 192.168.99.100:8888)的情况下运行时,他们为什么不向IP:port注册?

最佳答案
我相信每个Docker容器都需要使用Docker主机IP和映射到该容器端口的Docker主机端口进行注册.

这是我用过的:

尤里卡实例:

docker run -idt -p 8001:8001 --net=host -e spring.profiles.active=peerAware -e appPort=8001 -e hostName=$HOSTNAME -e dataCenter=asimio-cloud-dal -e environment=staging -e peerUrls="http://$HOSTNAME:8002/eureka/" asimio/discovery-server:1.0.73

服务实例:

docker run -idt -p 8601:8601 --net=host -e appPort=8601 -e hostName=$HOSTNAME -e eureka.client.serviceUrl.defaultZone="http://$HOSTNAME:8001/eureka/,http://$HOSTNAME:8002/eureka/" asimio/demo-registration-api-2:1.0.21

http://tech.asimio.net/2016/11/14/Microservices-Registration-and-Discovery-using-Spring-Cloud-Eureka-Ribbon-and-Feign.html#running-the-discovery-server-and-demo-services-in-docker-containers

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读