Spring 在Docker容器中运行时找不到Eureka服务

Spring 在Docker容器中运行时找不到Eureka服务,spring,docker,dockerfile,microservices,netflix-eureka,Spring,Docker,Dockerfile,Microservices,Netflix Eureka,所以我有一个非常简单的Eureka服务器和一个服务的设置。当使用tomcat在本地运行时,一切都很完美。但是,当我在docker容器中本地运行这些。。该服务注册到eureka服务器,但每当我通过FaignClient进行http调用时,它都会说该服务没有负载平衡(找不到服务)。这就好像服务可以找到eureka服务器,但服务器无法找到服务一样。再一次,只有在docker容器中运行时才会损坏 我的尤里卡服务器 spring.application.name=eureka-service server

所以我有一个非常简单的Eureka服务器和一个服务的设置。当使用tomcat在本地运行时,一切都很完美。但是,当我在docker容器中本地运行这些。。该服务注册到eureka服务器,但每当我通过FaignClient进行http调用时,它都会说该服务没有负载平衡(找不到服务)。这就好像服务可以找到eureka服务器,但服务器无法找到服务一样。再一次,只有在docker容器中运行时才会损坏

我的尤里卡服务器

spring.application.name=eureka-service
server.port=8761
eureka.client.fetch-registry=false
eureka.client.register-with-eureka=false
我的服务

spring.application.name=users-service
server.port=8081
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=false
eureka.instance.prefer-ip-address=true
eureka.client.service-url.defaultZone=http://**EurekaServerIp**:8761\eureka

我可以通过确保我的Eureka服务器、服务和Zuul网关在同一(覆盖)docker网络上运行来修复它。但是,我现在需要找到一种方法,只允许从网络外部访问zuul网关,并保护所有服务

编辑:我发现了一种非常简单的方法,可以使用docker-link公开网关和隐藏服务,这是一篇好文章