Mac: как получить удаленный доступ к серверу, работающему внутри док-контейнера, с других компьютеров?

Сначала я установил boot2docker на OSX 10.10, а затем успешно запустил веб-контейнер. С помощью настройки перенаправления портов я могу просматривать веб-сервер с помощью localhost:8080 в браузере. Теперь я хочу получить доступ к серверу с других компьютеров в той же WLAN, используя URL-адрес my-mac-ip:8080. Я гуглил и пробовал много способов, но так и не нашел решения.

Я нашел похожий вопрос, но iptables не работает для OSX.

Я новичок в Docker и не знаком с конфигурацией сети, пожалуйста, помогите мне! Спасибо!


person fifth    schedule 18.12.2014    source источник


Ответы (2)


Похоже, это не проблема Docker, потому что вы можете получить доступ к localhost: 8080. Я думаю, вам нужно открыть порт 8080 на вашем ноутбуке, чтобы другие могли получить к нему доступ извне.

Чтобы открыть порт в Mac OS X 10.10, следуйте этому руководству, в нем описывается, как использовать pfctl для переадресации портов.

person joh.scheuer    schedule 18.12.2014
comment
Согласен, я просто не знал, как открыть порт для моего Mac. По приведенной выше ссылке 10.10 сильно изменился, мне не удалось настроить... - person fifth; 18.12.2014
comment
Возможно, эти две ссылки будут полезны сначала и секунда - person joh.scheuer; 18.12.2014
comment
классно, первая работа! пожалуйста, обновите свой ответ :) - person fifth; 19.12.2014

Вы можете настроить временную переадресацию портов следующим образом:

На вашем Mac:

$ 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

$ docker run -d -P --name web nginx
$ docker port web
  443/tcp -> 0.0.0.0:49153
  80/tcp -> 0.0.0.0:49154
$ boot2docker ssh -vnNTL 192.168.1.21:8080:localhost:49154

На ПК или любом другом устройстве в той же локальной сети 192.168.1 теперь вы можете получить доступ к серверу nginx с помощью http://192.168.1.21:8080

См. также обходные пути для boot2docker.

person Mark Rajcok    schedule 11.04.2015