首页 > 解决方案 > 如何让 Eureka 客户端使用主机 IP 而不是 Docker 容器的 IP?

问题描述

我正在尝试对接我的 SpringBoot 应用程序。当应用程序部署在 docker 容器中时,它会使用 docker 容器的 IP 向 Eureka 注册。

我希望它使用主机的 IP 进行注册。

我已经设置eureka.instance.preferIpAddresstrue. 我尝试忽略文档中提到的网络接口,但没有运气。

有没有办法告诉 Eureka 客户端使用主机的 IP?

标签: dockerspring-cloudnetflix-eureka

解决方案


如果你用 启动你的容器--network=host,你的容器将有主机的 IP 地址,你不需要任何额外的配置。喜欢docker run -it --network=host you-container ...

但是请考虑这种模式的缺点,例如缺少容器隔离,因为您的容器将可以访问主机的网络。


推荐阅读