fegin和docker 通信问题

发布于 2022-01-04 02:11:39 字数 382 浏览 846 评论 4

我在服务器上部署了一个consul docker容器,端口为8500,通过ip+8500可以访问,

然后我写了个springboot的demo,作为服务提供者,打包成docker镜像部署到服务器后,可以看到已经注册到consul中

然后我在本地启动一个服务消费者的springboot demo,用fegin调用,提示java.net.SocketTimeoutException: connect timed out,是什么原因

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

累赘 2022-01-07 21:39:07

1. 尝试consul docker启动 + springboot本地启动 ,如果可以成功通信,再继续.

2. 尝试consul docker启动 + springboot docker启动, 在springboot容器里尝试去ping consul的ip,看可不可达,如果不可达, 看下dockers间的网络通信配置

臻嫒无言 2022-01-07 21:24:01

那岂不是集群的时候,部署10个服务器就需要10个不同的docker镜像吗,因为ip-address都不一样??

白龙吟 2022-01-07 20:51:17

回复
这个问题可用环境变量解决。

如日中天 2022-01-07 17:07:25

原因是网不通,docker注册上去的是docker网段172.xxxxxx ,你本地的网肯定访问不到172.xxx的吧;如果要访问,需要把生产者的ip-address改成docker宿主机的ip

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文