【发布时间】:2014-12-08 10:38:53
【问题描述】:
概述:
主机:运行 boot2docker 和 Docker 的 Mac OS X
访客:Windows 7
问题:
对于我的网络开发,我在 OS X 上通过 boot2docker 设置了一个 docker 容器。在 OS X 中,我可以通过 boot2docker 访问我的 docker 服务。
运行boot2docker ip,我明白了:
The VM's Host only interface IP address is: 192.168.59.103
我正在端口 1234 上运行 Django 应用程序(我已将 docker 映像上的端口 5000 映射到我 Mac 上的端口 1234),我可以通过地址 192.168.59.103:1234 在 Web 浏览器中的 OS X 中访问该应用程序。在 OS X 中一切正常。
现在我必须在 IE 上测试 Web 内容,这就是为什么我通过 Microsoft 的modern.IE 网站下载了 IE8、IE10 等。结果,我有了更多的 VirtualBox 映像,它们运行 Windows 7 并带有适当的 IE 版本。
现在的问题是如何访问那些 Windows 实例中的 Docker 容器,以便在多个 IE 版本下对其进行测试。
到目前为止我做了什么:
想法 1
为了访问 Django 应用程序,我查找了我的本地 IP 地址并尝试在 Windows 客户机中通过 NAT 访问它。给定我的本地 IP 地址192.168.178.24,我尝试从 Windows 访问192.168.178.24:1234。虽然我可以从 Windows ping 192.168.178.24,但我确实只在端口 1234 上得到了超时。
想法 2
Boot2docker 运行一个名为 boot2docker-vm 的 VirtualBox 机器。它带有两个网络适配器,NAT 和一个名为vboxnet0 的仅限主机的适配器。后者的地址为192.168.59.3(这是boot2docker ip 返回的地址),网络掩码为255.255.255.0。它在服务器地址192.168.59.99 上运行一个DHCP 服务器,它提供来自192.168.59.103-254 的地址。
我为我的 Windows 来宾系统添加了第二个网络适配器,它也可以通过仅主机适配器访问网络 vboxnet0。当连接到网络时,Windows 机器确实获得了一个有效的 IP 并且可以 ping IP 192.168.59.103。但我无法在端口1234 上连接到我的 Django 实例。如果我尝试在 Windows 中调用 192.168.59.103:1234,我会超时。
为什么无法连接到 Django 实例?你能帮助我吗?提前致谢。
【问题讨论】:
标签: macos virtualbox boot2docker