Пружинный загрузочный док-контейнер не может подключить консул - PullRequest
0 голосов
/ 01 ноября 2018

Я новичок в консуле. Я разработал весеннее загрузочное приложение, которое может зарегистрироваться, и я могу обнаружить его из другого приложения из консоли. Но если я попытаюсь создать контейнер для этого приложения, оно не сможет подключиться к консоли: Я запускаю консоль в окне докера r:

docker run -p 8500:8500 consul:latest

Консоль запускается, и я вижу веб-страницу: http://localhost:8500

Затем я создаю образ докера моего приложения и запускаю его по

docker build . -t app
docker run -p 8888:8888 app

Не удается подключиться к консоли, и я получаю следующую ошибку,

main] o.s.c.c.c.ConsulPropertySourceLocator    : Fail fast is set and there was an error reading configuration from consul.

У меня есть следующее в bootstrap.yml ,

 spring:
      application:
        name: app
      cloud:
        consul:
          host: localhost
          port: 8500
          discovery:
            preferIpAddress: true
            healthCheckPath: /health
            healthCheckInterval: 15s
            instanceId: ${spring.application.name}:${random.value}

1 Ответ

0 голосов
/ 27 марта 2019

Попал в похожую проблему, проблема здесь может быть с контейнерами. Я решил это, убедившись, что контейнеры работают в одной сети. Кроме того, обязательно используйте имя контейнера вместо «localhost» в приведенной выше конфигурации. Например:

весна:

cloud:

  consul:

    host: consul //container name

    port: 8500
...