java.net.UnknownHostException-Zuul和Eureka在Docker内部不起作用

时间:2019-06-12 08:28:25

标签: spring spring-boot docker netflix-eureka netflix-zuul

我一直在尝试在Docker结构上验证我的微服务,在这里我通过链接容器连接所有内容,但是在尝试通过Zuul传递API网关时却没有成功。

基本上我有这些微服务:

  • 配置服务器
  • 精品店-尤里卡服务器
  • api-gateway
  • 产品服务

所有这些都从成功开始,但是我无法通过api网关访问产品服务。

我的代码全在:

https://github.com/kalilmvp/myboutique/

以及我使用的docker命令。

错误通常是:

com.netflix.zuul.exception.ZuulException: Forwarding error

在以后的测试中,我也一直遇到此错误:

Caused by: java.lang.RuntimeException: java.net.UnknownHostException: product-service

您可以在分支 docker

上对其进行检查

1 个答案:

答案 0 :(得分:0)

Docker建议不要使用--link选项来链接容器,因此不建议使用docker run的此开关。

创建端到端链接存在很多问题,例如环境变量在两个链接的容器之间共享(例如,设想 JAVA_HOME 的不同值)。

请尝试使用docker compose协调服务,或使用docker定义网络:

$ docker network create my-net
$ docker create --name my-eureka --network my-net --publish 8888:80 eureka:latest
...
$ docker network disconnect my-net my-eureka

查找更多信息in the docker docs