【问题标题】:Mac: how to remotely access server running inside docker container from other computers?Mac:如何从其他计算机远程访问在 docker 容器内运行的服务器?
【发布时间】:2014-12-18 07:39:31
【问题描述】:

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

我找到了similar question,但 iptables 不适用于 OSX。

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

【问题讨论】:

    标签: macos networking docker boot2docker


    【解决方案1】:

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

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

    【讨论】:

    • 同意,我只是不知道如何为我的 Mac 打开端口。对于上面的链接,10.10变化很大,我设置失败...
    • 也许这两个链接有帮助 firstsecond
    • 太棒了,第一个工作!请更新你的答案:)
    【解决方案2】:

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

    在您的 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 上的 PC 或任何其他设备上,您现在可以使用 http://192.168.1.21:8080 访问 nginx 服务器

    另见boot2docker workarounds

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-14
      • 2019-10-10
      • 1970-01-01
      • 1970-01-01
      • 2012-04-21
      • 1970-01-01
      • 2019-11-09
      相关资源
      最近更新 更多