使用zuul无法正常路由到docker中的不同容器

时间:2016-09-19 10:16:50

标签: api docker netflix-zuul api-gateway

我有2个微服务(spring boot app)在不同的docker容器中运行,并配置了zuul api网关。路由到其他容器不起作用。集装箱1在8030港口运行。容器2在端口8030上运行。

以下是application.yml中的zuul配置 -

server:
  port: 8030

# TODO: figure out why I need this here and in bootstrap.yml

spring:
  application:
    name: zuul server

endpoints:
  restart:
    enabled: true
  shutdown:
    enabled: true
  health:
    sensitive: false

zuul:
  routes:
    zuultest:
         url: http://localhost:8080
         stripPrefix: false 

ribbon:
  eureka:
    enabled: false

当通过localhost:8030 / zuultest / test访问时,异常为 -

2016-09-19 09:10:14.597  INFO 1 --- [nio-8030-exec-3] hello.SimpleFilter                       : GET request to http://localhost:8030/zuultest/test
2016-09-19 09:10:14.600  WARN 1 --- [nio-8030-exec-3] o.s.c.n.z.filters.post.SendErrorFilter   : Error during filtering

我能知道为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

您可以使用docker-compose.yml中的links选项链接两个容器。

demo1:
  image: <demo1 image name>
  links: - demo2
demo2:
  image: <demo2 image name>

然后在 zuul:routs:url 配置中,您可以使用conatiner名称 demo2 而不是IP。