一尘不染

Docker-SpringConfig-连接拒绝到ConfigServer

docker

我正在尝试使用DockerCompose使用远程存储库部署ConfigServrService和客户端。

docker-compose.yml类似于:

version: '2'

services:

  rabbitmq:
    image: rabbitmq
    ports:
      - "5672:5672"

  config-server:
    image: config-server
    environment:
      - "SPRING_PROFILES_ACTIVE=desa"
    ports:
      - "8888:8888"
    links:
      - rabbitmq
    depends_on:
      - rabbitmq

  user-service-config:
    image: user-service-config
    environment:
      - "SPRING_PROFILES_ACTIVE=desa"
    ports:
      - "8090:8090"
    links:
      - config-server
      - rabbitmq
    depends_on:
      - rabbitmq
      - config-server

在他们部署的那一刻,客户端控制台显示:

cccConfigServicePropertySourceLocator:从位于http://
localhost:8888的
服务器中获取配置

(而不是http:// config-server:8888

然后,控制台显示:

无法找到PropertySource:“ http:// localhost:8888 / user-server-config /
desa
”的GET请求上的I /
O错误:连接被拒绝;嵌套的异常是java.net.ConnectException:连接被拒绝

该服务正在尝试连接到http:// localhost:8888 / user-server-config /
desa
而不是http:// config-
server:8888

客户端的application.yml文件为:

server:
  port: 8090
spring:
  rabbitmq:
    host: 172.17.0.1
    port: 5672
    username: guest
    password: guest

  application:
    name: user-server-config
  cloud:
    enabled: true
    config:
      uri: http://config-server:8888
      failFast: true
      retry:
        maxAttempts: 20

management:
  security:
    enabled: false

我不知道为什么URI包含 HTTP://本地主机:8888/用户服务器配置/经社部
在年底。而不是application.yml中指示的 http:// server-config:8888


阅读 393

收藏
2020-06-17

共1个答案

一尘不染

正如spencergibb在此处建议的那样,并按照官方文档的建议创建一个bootstrap.yml文件:

spring:
  cloud:
    enabled: true
    config:
      uri: http://config-server:8888
      failFast: true
      retry:
        maxAttempts: 20

并从中删除上述包含的属性application.yml

2020-06-17