fegin和docker 通信问题

CheGanX 发布于 2019/10/10 10:40
阅读 217
收藏 0

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

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

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

加载中
0
称呼我
称呼我

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

称呼我
称呼我
回复 @CheGanX : 这个问题可用环境变量解决。
C
CheGanX
那岂不是集群的时候,部署10个服务器就需要10个不同的docker镜像吗,因为ip-address都不一样??
0
白天蓝草
白天蓝草

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

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

返回顶部
顶部