我一直在尝试在Docker结构上验证我的微服务,在这里我通过链接容器连接所有内容,但是在尝试通过Zuul传递API网关时却没有成功。
基本上我有这些微服务:
所有这些都从成功开始,但是我无法通过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
上对其进行检查答案 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