Доступ из одного контейнера в другой

Вопрос

Есть 2 условных docker контейнера с Prometheus и node-exporter.
Мне нужно, чтобы prometheus-контейнер мог получать доступ к node-exporter-контейнеру по адресу localhost:9100 (в prometheus.yml адрес к экспортеру указан как “localhost:9100”).

Как это лучше всего сделать?

  • с помощью -link
  • с помощью -net=host
  • создать новый network и запускать оба контейнера в нем

Ответ

links я бы не стал использовать по ряду причин, как минимум она “deprecated”, о чем написано в офф доке. Так же это вам не позволит обращаться к сервису как к localhost, только по имени. То же самое касается и network
Если вам нужно обращаться именно как к localhost, то вам остается только —net=host

Но в реальных проектах:
в target’е прописывают имя контейнера… и по ним спокойно всё резолвится
у вас контейнеры запускаются в одной сети - prometheus достукивается до node_exporter

networkcontainerdocker