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

Първо инсталирах boot2docker на OSX 10.10, след което успешно стартирах уеб контейнер. С конфигурация за пренасочване на портове мога сърфирайте в уеб сървъра от localhost:8080 в браузъра. Сега искам да получа достъп до сървъра от други компютри, в същата WLAN, като използвам url my-mac-ip:8080. Потърсих в Google и опитах много начини, но все още не разбрах решението.

Намерих подобен въпрос, но iptables не работи за OSX.

Нов съм в Docker и не съм запознат с мрежовата конфигурация, моля, помогнете ми! Благодаря!


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


Отговори (2)


Това звучи така, сякаш не е проблем с Docker, защото имате достъп до localhost:8080. Мисля, че трябва да отворите порт 8080 на вашия лаптоп, за да позволите на другите да имат достъп до него отвън.

За да отворите порт под Max OS X 10.10 foolowd това ръководство, то описва как да usw 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 LAN вече можете да получите достъп до nginx сървъра с http://192.168.1.21:8080

Вижте също заобиколни решения на boot2docker.

person Mark Rajcok    schedule 11.04.2015