Docker с ограниченным доступом к консулам - PullRequest
0 голосов
/ 01 апреля 2020

Я пользуюсь консулом и Docker. Мой сервис запускается, выбирает бесплатный порт и регистрируется в консуле. Так хорошо, это работает.

Но иногда консулу (consul: latest) нужно пропинговать мой сервис (который не работает в контейнере, а вместо этого является размещенным приложением на сервере), чтобы проверить, работает ли он (проверить состояние работоспособности сервиса) , Это не работает.

Служба регистрируется, но ping не работает. Проверка работоспособности работает таким образом, что консул отправляет в службу HTTP запрос на зарегистрированный адрес (например, http://localhost: 40000 / Health ), который отвечает 200, если он жив.

my docker -compose.yml выглядит следующим образом:

consul:
  image: consul:latest
  command: consul agent -dev -log-level=warn -ui -client=0.0.0.0
  hostname: consul
  container_name: consul
  ports:
    - 8500:8500

Еще одна вещь, когда я изменяю проверку работоспособности с http на tcp, я получаю

"dial tcp 127.0. 0.1: 40000: соединение: соединение отклонено "

Я попытался использовать исполняемый файл автономного консула на локальной машине, и он работает нормально. Поэтому мой вопрос: есть ли способ разблокировать бесплатное общение между docker и локально размещенным сервисом?

...