我有一个 Spring Boot 微服务连接到 Spring 配置服务以获取配置,但显然,在配置服务器完全启动并运行后,该服务无法启动,否则它将永远无法再次连接(?)
这是我在运行 docker-compose 文件时在服务控制台中看到的错误:
2016-04-07 14:25:51.305 WARN 1 --- [main] cccConfigServicePropertySourceLocator:找不到 PropertySource:对“ http://configserver:8888/myservice/default ”的 GET 请求的 I/O 错误:连接被拒绝;嵌套异常是 java.net.ConnectException: Connection denied
这是我的 docker-compose 文件:
discovery:
image:discovery-service
ports:
- "8761:8761"
configserver:
image:config-service
ports:
- "8888:8888"
links:
- discovery
myservice:
image:my-service
ports:
- "9006:9006"
links:
- discovery
- configserver
这是服务 bootstrap.yml 配置:
spring:
application:
name: myservice
cloud:
enabled: true
config:
uri: http://configserver:8888
encrypt:
failOnError: false
一旦两个服务都在 Eureka 上运行并注册(发现),我尝试调用/refresh
,myservice
但它一直失败并返回相同的错误。
如果我重新启动 docker 实例,它会毫无问题地连接。
这是否意味着我必须保持配置服务器连续运行才能做到这一点?