我有三台计算机,并且开发了Eureka feign和eureka客户服务应用程序,并将它们发布在docker中。上面的配置:
1.我在不同的Docker容器中发布了Eureka和feign,但它们位于同一主机中。主机IP为192.168.43.132,我将Eureka容器的端口8989导出到1111,将伪装的端口9000导出到9000
2.我在另一台主机中与docker一起发布了eureka客户端服务,主机ip为192.168.43.134,我将端口9999导出到9999,以获取eureka客户端服务
然后我可以看到在eureka中注册的服务,但是我不能假装访问该服务器,但是可以使用浏览器直接访问eureka客户端服务。
谁能告诉我为什么?
我知道需要告诉运行在Docker上的eureka客户端使用主机的IP,所以我使用配置eureka.instance.preferIpAddress = true或eureka.instance.prefer-ip-address = true,但是它们没有用
最佳答案
您应该在主机模式下运行docker容器,默认为桥接模式,它会分配内部ip并将此内部ip注册到eureka服务器。因此,您的客户端无法通过内部IP访问。
docker run --net=host ...
关于docker - Eureka (Eureka)无法与Docker合作? Eureka 和领事有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40866360/