2016-08-25 6 views
5

С помощью ubuntu tusty есть служба, запущенная на удаленной машине, через которую я могу получить доступ через переадресацию через туннель ssh с localhost:9999.Доступ к хосту ssh из контейнера-докера

У меня есть контейнер для докеров. Мне нужно получить доступ к этой удаленной службе через туннель хоста из контейнера.

Я пробовал туннелирование из контейнера на хост с помощью -L 9000:host-ip:9999, после чего доступ к сервису через 127.0.0.1:9000 из контейнера невозможен. Для того, чтобы проверить погоду отображение порта было, я попытался nc -luv -p 9999 # at host nc -luv -p 9000 # at container

следующий this, parag. 2 но не было воспринято связи, даже при выполнении nc -luv host-ip -p 9000 в контейнере

Я также попытался отображения портов через docker run -p 9999:9000, но это отчеты что привязка завершилась неудачно, поскольку порт хоста уже используется (предположительно, из туннеля хоста на удаленную машину).

Так что мои вопросы

1 - Как я достигну соединение? Нужно ли мне настроить туннель ssh на хост, или это может быть достигнуто только с помощью сопоставления портов докеров?

2 - Какой быстрый способ проверить соединение? Via bash, предпочтительно.

Спасибо.

ответ

7

Я думаю, вы можете сделать это, добавив --net=host к вашему проходу на докер. Но см. Также этот вопрос: Forward host port to docker container

+0

Спасибо. Теперь я могу подключиться к сервису. Есть ли быстрый способ проверить, действительно ли соединение действительно жесткое? – npit

+1

вы можете использовать curl 'curl {ip}: {port}/randomendpoint' или wget' {ip}: {port}/randomendpoint' –

Смежные вопросы