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

首先,我在OSX 10.10上安装了boot2docker,然后成功运行了一个web容器。 通过端口redirectconfiguration ,我可以在浏览器中通过localhost:8080浏览Web服务器。 现在我想通过使用url my-mac-ip:8080从同一WLAN中的其他计算机访问服务器。 我search了很多方法,仍然没有find解决办法。

我发现类似的问题 ,但iptables不适用于OSX。

我是Docker的新手,我不熟悉networkingconfiguration,请帮助我! 谢谢!

这听起来像它不是一个docker问题,因为你可以访问本地主机:8080。 我想你需要在你的笔记本电脑上打开8080端口,使其他人可以从外部访问它。

要在Max OS X 10.10下打开一个端口,请参阅本指南 ,它介绍了如何使用pfctl进行端口转发。

您可以设置临时端口转发,如下所示:

在你的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局域网上的PC或任何其他设备上,现在可以通过http://192.168.1.21:8080访问nginx服务器

另请参阅boot2docker解决方法 。