我在尝试在 docker 中使用微服务时遇到了这个问题(这在本地不会发生)。
RetryableException发生异常,第-2行: 连接拒绝执行 GET http://localhost:8082/api/car/findAll
这是我的 docker-compose 文件
version: '3.9'
services:
people:
build:
context: peoplems
ports:
- '8081:8081'
networks:
- host
vehicles:
build:
context: vehiclesms
ports:
- '8082:8082'
networks:
- host
api:
build:
context: apigateway
dockerfile: Dockefile
ports:
- '8080:8080'
networks:
- host
networks:
host:
driver: bridge
服务正在运行
错误是我试图使用 feignclient 调用“localhost”
url = http://localhost:8081/api/car
因此,当应用程序在 docker 中“部署”时,docker 将找不到本地主机地址。我必须将“localhost”更改为部署服务的容器的名称:parking-people-1。我在 feignclient 中的新网址现在是
url = http://parking-people-1:8081/api/car
并且有效。
注意:使用此解决方案,您无需再创建新网络。 (至少在这种情况下。)
我希望这对某人有用。
我遇到了类似的问题,但是当我尝试更改 URL 时,本地主机 URL 仍然存在错误。我希望与您联系以获得有关此问题的帮助