Установите профиль на bootstrap.yml в spring cloud для назначения другого сервера конфигурации
Я использую docker compose для запуска всех моих микро-сервисов. Для каждой службы я даю ей короткое имя хоста.
version: '2'
services: 
  config:
    image: springbox-config-server
    restart: always
    ports:
     - "8890:8890"
  discovery:
    image: springbox-eureka
    restart: always
    ports:
     - "8763:8763"
поэтому в моем микро-сервисе я должен нацелить configserver с его коротким именем хоста.
spring:
  application:
    name: myservice
  cloud:
    config:
      uri: http://config:8890
      fail-fast: true
однако, когда я запускаю их локально в своей IDE без docker, короткое имя хоста не может быть разрешено.
поэтому я ищу решение для целевого другого сервера конфигурации в соответствии с моей средой.
1 ответов
Я нашел решение. В принципе, мы используем spring profile для обогащения файла начальной загрузки. Например
spring:
  application:
    name: myservice
  cloud:
    config:
      uri: http://config:8890
      fail-fast: true
---
spring:
  profiles: development
  cloud:
    config:
      uri: http://localhost:8890
хорошей новостью является то, что нам не нужно переписывать все свойства в профиле. Свойства по умолчанию наследуются. Например, когда профиль разработки включен, мое имя приложения наследуется от имени по умолчанию, называемого always myservice.
чтобы активировать профиль, запустите службу со следующим свойством
-Dspring.profiles.active=development
