当前位置: 首页 > 知识库问答 >
问题:

spring cloud在docker无法从zuul获取服务

楚宏胜
2023-03-14

我有一个简单的spring cloud项目,它包含4个服务:

  • 配置:8888
  • 登记处(尤里卡):8761
  • 网关(zuul):8080
  • 服务-1:9527

在此输入图像说明

如果将项目部署在localhost中,

我可以在没有Docker的情况下通过zuul成功获取Service-1的api:

http://localhost:8080/service-1/test

但当我使用docker进行部署时,它抛出错误:导致的原因:java.lang.RuntimeException:org.apache.http.conn.httpostConnectException:连接到注册表:9527[Registry/172.21.0.4]失败:Connection refied(Connection refied)

我只能使用Service-1的api获取

http://localhost:9527/test

PS:两个服务(网关、service-1)已成功注册到eureka

这是我的docker-compose yml:

version: '3'
services:
  config:
    build: ./config
    ports:
      - "8888:8888"
  registry:
    build: ./registry
    ports:
      - "8761:8761"
    depends_on:
      - config
    environment:
      - SPRING_PROFILES_ACTIVE=prd
  gateway:
    build: ./gateway
    depends_on:
      - config
    links:
      - registry
      - service-1
    ports:
      - "8080:8080"
    environment:
      - SPRING_PROFILES_ACTIVE=prd
  service-1:
    build: ./service-1
    ports:
      - "9527:9527"
    depends_on:
      - config
    links:
      - registry
    environment:
      - SPRING_PROFILES_ACTIVE=prd

有人能帮我吗?

共有1个答案

袁元明
2023-03-14

我已经解决了这个问题,我忘记在gateway主类上添加@EnableDiscoveryClient,并覆盖eureka实例主机名

 类似资料:
  • 我正在尝试使用以下Zuul自动配置(Spring Boot)将Zuul配置为Eureka: 但是,当通过Zuul打电话给客户服务得到以下例外: 我用网络控制台检查了客户服务的尤里卡,我发现一个客户服务的实例在那里注册正确。 有人能帮我知道出了什么问题吗?

  • 本文向大家介绍SpringCloud Zuul服务功能与使用方法解析,包括了SpringCloud Zuul服务功能与使用方法解析的使用技巧和注意事项,需要的朋友参考一下 Zuul是什么?   Zuul包含了对请求的路由和过滤两个最主要的功能:     其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验、服务聚

  • 我跟踪了服务,当它们部署在localhost中(通过eclipse)时,它们工作得很好。但在部署为单独的docker容器时无法调用rest服务。 我是一个新的docker并且参加了教程来了解这是如何工作的。 祖尔阿皮门路 用户服务 尤里卡注册服务信息 注意:“DE4396A354EA”是“用户服务”的容器id 请提供关于如何解决此问题的指导,并提供任何链接,我可以在这些链接中获得关于在docker

  • 我有一个以下格式的日期,我需要解析它,并转换成一个纪元时间。 关于我做错了什么有什么帮助吗?

  • 当我这样做的时候 如何解析datetime字符串,以便将其解释为始终来自时区“欧洲/柏林”?

  • 问题内容: 当我这样做时 我得到以下异常: 如何解析日期时间字符串,以便将其始终解释为来自“欧洲/柏林”时区? 问题答案: 问题在于,a 和a 之间存在差异。要创建一个,您需要一个区域偏移量。但是,a和a之间没有一对一的映射关系,因为它实际上取决于当前的夏时制时间。对于ZoneId像“欧洲/柏林”一样的商品,夏季有一个偏移量,而冬季有一个不同的偏移量。 在这种情况下,使用代替会更容易。在解析期间,