Контейнеры одного хоста не могут получить доступ друг к другу - PullRequest
0 голосов
/ 03 марта 2020

У меня есть контейнер Prometheus и контейнер Grafana, работающие на одном хосте, каждый контейнер связан с другим портом. когда я пытаюсь добавить источник данных в контейнер Grafana в качестве контейнера prometheus ($ {host_name}: 9090), я не получаю маршрут к хосту.

При нажатии $ {hostname}: 9090 и $ {hostname} : 3000 прекрасно работает в браузере.

при запуске контейнера я использовал сеть

docker network create --driver bridge prometheus

docker run --network prometheus -d -v /vvs/prometheus/conf:/etc/prometheus/ -v /vvs/prometheus/data:/prometheus -u 90900:90900 -p 9090:9090 --name prometheus1 prom/prometheus:v2.14.0 --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/prometheus

docker run --network prometheus -d -v /vvs/grafana:/var/lib/grafana -p 3000:3000 --name Grafana grafana/grafana

docker network inspect prometheus показывает, что оба контейнера являются частью сети Prometheus.

выполнение скручивания из Grafana для достижения Prometheus ({имя_хоста}: 9090) не дает мне никакого пути к хосту и наоборот Графана из контейнера Прометей

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 03 марта 2020

Я думаю, у вас есть несколько вариантов -

  1. Используйте prometheus1 в качестве имени хоста. Поскольку оба контейнера находятся в одной сети, они должны иметь возможность общаться друг с другом по своим именам.
  2. Использовать частный / stati c IP-адрес хост-машины docker для связи с Прометеем.
  3. Использование docker составлять и вызывать друг друга по их служебным именам (предпочтительно /рекомендуйте).
...