簡體   English   中英

解決對 docker-compose 的依賴

[英]Solve dependencies on docker-compose

我有一個 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:連接被拒絕

這是我的 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(發現)上運行並注冊,我嘗試在myservice上調用/refresh但它一直失敗並返回相同的錯誤。

如果我重新啟動 docker 實例,它可以毫無問題地連接。

這是否意味着我必須讓配置服務器持續運行才能做到這一點?

如果配置服務器在啟動時尚未准備好,您需要將客戶端應用程序配置為更健壯。 用戶指南中有一個部分。 TL;DR 包括 spring-retry 並設置spring.cloud.config.failFast=true

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM