связывание портов из контейнера докеров с хостом

У меня следующая ситуация. У меня есть служба, которая прослушивает 127.0.0.1 на порту 1234 (это нельзя изменить по соображениям безопасности). На той же машине запустите контейнер докеров. Мне нужно как-то подключиться к сервису на хосте изнутри контейнера. Поскольку служба принимает запросы только от 127.0.0.1, мне нужно каким-то образом связать порт из контейнера с портом хоста, но в обратном порядке, поэтому, когда я подключаюсь из контейнера к 127.0.0.1:1234, служба на хосте получит data.
Это возможно?
Спасибо.


person Mr T.    schedule 16.08.2016    source источник


Ответы (2)


В сети с мостом по умолчанию вы не сможете подключиться из контейнера к службе на узле, прослушивающем 127.0.0.1. Но вы можете использовать --net=host при запуске контейнера, чтобы использовать сетевой стек узла непосредственно в контейнере. Он устраняет некоторую изоляцию, но затем позволяет вам напрямую обращаться к 127.0.0.1 как к контейнеру и обращаться к службам, работающим на хосте.

person BMitch    schedule 16.08.2016

Вопрос

Как связать службу Dockerized с локальным хостом: порт?

Отвечать

Используйте -p как это: docker run -p 127.0.0.1:1234:1234 <other options> <image> <command>.

person Auzias    schedule 16.08.2016