Доступ из одного контейнера в другой
Вопрос
Есть 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