Spring boot 无法通过docker中的ZUUL api网关连接到micro服务

Spring boot 无法通过docker中的ZUUL api网关连接到micro服务,spring-boot,docker,netflix-zuul,Spring Boot,Docker,Netflix Zuul,我有以下服务,当它们部署在localhost(通过eclipse)中时,它们运行良好。但当作为单独的docker容器部署时,无法调用rest服务 我是新来的docker,参加了教程,了解了这是如何工作的 以下服务在单独的docker容器中运行,配置如下(本地环境) 尤里卡 Docker IP : 172.17.0.3 Docker port mapping : 8761:8761 spring.application.name=naming-server server.port=8761 Z

我有以下服务,当它们部署在localhost(通过eclipse)中时,它们运行良好。但当作为单独的docker容器部署时,无法调用rest服务

我是新来的docker,参加了教程,了解了这是如何工作的

以下服务在单独的docker容器中运行,配置如下(本地环境)

尤里卡

Docker IP : 172.17.0.3
Docker port mapping : 8761:8761

spring.application.name=naming-server
server.port=8761
Zuul API门道

Docker IP : 172.17.0.4
Docker port mapping : 8765:8765

spring.application.name=gateway-server
server.port=8765
用户服务

Docker IP : 172.17.0.5
Docker port mapping : 8101:8101

spring.application.name=user-service
server.port=8101
尤里卡注册服务信息

应用程序AMIs可用性区域状态

用户服务不适用(1)(1)向上(1)-de4396a354ea:用户服务:8101

API-网关不适用(1)(1)向上(1)-e5dd509065cd:API网关:8765

当试图通过网关调用“用户服务”中的服务时,它抛出异常

    com.netflix.zuul.exception.ZuulException: Forwarding error
        at org.springframework.cloud.netflix.zuul.filters.route.RibbonRoutingFilter.handleException(RibbonRoutingFilter.java:198) ~[spring-cloud-netflix-zuul-2.2.0.RELEASE.jar!/:2.2.0.RELEASE]
        at org.springframework.cloud.netflix.zuul.filters.route.RibbonRoutingFilter.forward(RibbonRoutingFilter.java:173) ~[spring-cloud-netflix-zuul-2.2.0.RELEASE.jar!/:2.2.0.RELEASE]

    Caused by: java.net.UnknownHostException: de4396a354ea: Name or service not known
        at java.base/java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method) ~[na:na]
        at java.base/java.net.InetAddress$PlatformNameService.lookupAllHostAddr(InetAddress.java:929) ~[na:na]
        at java.base/java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1515) ~[na:na]
注:“de4396a354ea”是“用户服务”的容器id


请提供如何解决此问题的指南,并提供任何链接,从中我可以获得有关在docker容器中部署微服务的更多信息。

可以通过添加“eureka.instance.hostname=”属性来解决此问题