spring的云无法从docker上的zuul获取服务
我有一个简单的spring云项目,它包含4个服务:
- configuration:8888
- registry(尤里卡):8761
- 网关(zuul):8080
- 服务-1:9527
在这里input图像说明
如果在localhost中部署项目没有问题,
我可以通过没有docker的zuul成功获取service-1的api:
HTTP://本地主机:8080 /服务-1 /testing
但是当我与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来获取
HTTP://本地主机:9527 /testing
PS:两个服务(网关,服务1)已成功注册到尤里卡
这里是我的docker – 撰写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
,并覆盖尤里卡实例主机名