2014-11-13 3 views
4

Я использую Boot2Docker 1.3.0 на своем Mac, и до сих пор я доволен использованием этого. Но теперь я хотел бы подключиться к контейнеру http (предоставляет порт 8080) не с моей локальной машины, а с другого компьютера в моей локальной сети? Если я делаю это локально, я просто использую http://192.168.59.103:8080, поэтому я использую ip-адрес хоста докера. Это не может работать для других компьютеров в моей локальной сети, но использование ip-адреса моего mac тоже не работает. Я уверен, что есть некоторые решения для этой проблемы, но я не могу найти их. Это не может быть так сложно? Я хочу сделать запрос http://[IP-Address-of-mac]:8080 с другого хоста в моей локальной сети. Я думаю, что мне нужно настроить некоторые правила маршрутизации на моей локальной машине? Может кто-нибудь сказать мне, что делать? Заранее спасибо.Boot2Docker: подключение к контейнеру по локальной сети

С наилучшими пожеланиями

Sascha

+0

Различные советы здесь в разделе «Проблема №1: Переадресация портов»: http://viget.com/extend/how-to-use-docker-on-os-x-the-missing-guide – Bryan

ответ

1

На вашем Mac, определить IP-адрес, который он использует в вашей локальной сети:

$ ifconfig | grep 192 
    inet 192.168.1.21 netmask 0xffffff00 broadcast 192.168.1.255 
    inet 192.168.59.3 netmask 0xffffff00 broadcast 192.168.59.255 

Тогда порт вперед:

$ boot2docker ssh -vnNTL 192.168.1.21:8080:localhost:8080 

Теперь, запросы которые входят в ваш Mac на порту 8080, будут перенаправлены на Linux-загрузчик boot2docker на порт 8080. Затем сервер докеров перенаправляет f (порт 8080 VM) в порт, который ваш контейнер использует для httpd (возможно, 80).

Обратите внимание, что «localhost» выше с точки зрения Linux VM, а не Mac, потому что это хост, в который вы входите.

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