Docker中微服务的消费者访问提供者的错误 Connection refused
错误概述:
微服务的eureka,provider,consumer服务在Windows的IDEA中都能正常运行。
部署进入Centos7的Docker后,eureka,provider服务运行正常,consumer服务总是报 Connection refused的如下错误,
2021-09-15 14:41:51.526 ERROR 1 --- [p-nio-exec-4] o.a.c.c.C.[.[.[/].
[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet]
in context with path [] threw exception [Request processing failed;
nested exception is org.springframework.web.client.ResourceAccessException:
I/O error on GET request for "http://localhost:8001": Connection refused (Connection refused); nested exception is java.net.ConnectException: Connection refused (Connection refused)] with root cause
java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.8.0_111]
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_111]
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[na:1.8.0_111]
......
错误原因:
consumer服务的ConsumerController的访问提供者的IP不正,应该是Docker发布后宿主机的IP地址。
//提供者的IP地址和端口
//private static final String REST_URL_PREFIX = "http://localhost:8001";
//提供者的docker宿主机的IP地址和端口
private static final String REST_URL_PREFIX = "http://192.168.113.205:8001";