docker - 如何让 Eureka 客户端使用主机 IP 而不是 Docker 容器的 IP?
问题描述
我正在尝试对接我的 SpringBoot 应用程序。当应用程序部署在 docker 容器中时,它会使用 docker 容器的 IP 向 Eureka 注册。
我希望它使用主机的 IP 进行注册。
我已经设置eureka.instance.preferIpAddress
为true
. 我尝试忽略文档中提到的网络接口,但没有运气。
有没有办法告诉 Eureka 客户端使用主机的 IP?
解决方案
如果你用 启动你的容器--network=host
,你的容器将有主机的 IP 地址,你不需要任何额外的配置。喜欢docker run -it --network=host you-container ...
但是请考虑这种模式的缺点,例如缺少容器隔离,因为您的容器将可以访问主机的网络。
推荐阅读
- java - Spring boot Cache Abstraction 自定义实现
- javascript - Jest 测试 api 创建自己的上下文节点 js
- javascript - 在 create-react-app 服务工作者中缓存跨域 API 调用
- gsuite-addons - 是否有可能在谷歌表格上使用 myFunction 触发特定的列或行?
- shopify - 赛普拉斯对 Gatsby 的测试在 GitHub Actions 上失败
- c++ - Linux源码中实现的普通磁盘文件的‘poll’功能在哪里?
- javascript - 试图解析一个猫鼬对象
- google-cloud-platform - GCP HTTPS 负载均衡器请求在 300 秒后超时
- c# - C# 错误。请求被中止:无法创建 SSL/TLS 安全通道
- powershell - 从变量传递时调用命令计算机名无效错误