Mac:如何从其他计算机远程访问在docker容器内运行的服务器?

时间:2014-12-18 07:39:31

标签: macos networking docker boot2docker

首先我在OSX 10.10上安装了boot2docker,然后我成功运行了一个Web容器。使用port redirection configuration,我可以在浏览器中按localhost:8080浏览网络服务器。现在,我想使用url my-mac-ip:8080从同一WLAN中的其他计算机访问服务器。我用Google搜索并尝试了很多方法,仍然没有找到解决方案。

我找到similar question,但iptables对OSX不起作用。

我是Docker的新手,我不熟悉网络配置,请帮帮我!谢谢!

2 个答案:

答案 0 :(得分:3)

这听起来好像不是Docker问题,因为您可以访问localhost:8080。我认为您需要在笔记本电脑上打开端口8080,以便其他人可以从外部访问它。

要在Max OS X 10.10 foolowd this guide下打开一个端口,它描述了如何使用pfctl进行端口转发。

答案 1 :(得分:0)

您可以按如下方式设置临时端口转发:

在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

在PC或同一192.168.1 LAN上的任何其他设备上,您现在可以使用http://192.168.1.21:8080

访问nginx服务器

另见boot2docker workarounds