我有一个简单的Spring云项目,它包含4个服务:
如果部署在localhost中,该项目没有问题,
我可以在没有docker的情况下通过zuul成功获取service-1的api:
但是当我使用docker部署时,它会抛出错误:Caused by: java.lang.RuntimeException: org.apache.http.conn.HttpHostConnectException: Connect to registry:9527 [registry/172.21.0.4] failed: Connection refused (Connection refused)
我只能用service-1的api获取
PS:两个服务(网关,服务-1)已经成功登记到尤里卡
这是我的docker-compose yml:
version: '3'
services:
config:
build: ./config
ports:
- "8888:8888"
registry:
build: ./registry
ports:
- "8761:8761"
depends_on:
- config
environment:
- SPRING_PROFILES_ACTIVE=prd
gateway:
build: ./gateway
depends_on:
- config
links:
- registry
- service-1
ports:
- "8080:8080"
environment:
- SPRING_PROFILES_ACTIVE=prd
service-1:
build: ./service-1
ports:
- "9527:9527"
depends_on:
- config
links:
- registry
environment:
- SPRING_PROFILES_ACTIVE=prd
谁能帮我?
我已经解决了这个问题,我忘了在网关主类上添加@EnableDiscoveryClient
,并覆盖eureka实例主机名