我有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
我能知道为什么会这样吗?
答案 0 :(得分:1)
您可以使用docker-compose.yml中的links选项链接两个容器。
demo1:
image: <demo1 image name>
links: - demo2
demo2:
image: <demo2 image name>
然后在 zuul:routs:url 配置中,您可以使用conatiner名称 demo2 而不是IP。