我在我的Mac上使用VirtualBox VM中的boot2docker运行了docker。然后我添加到我的Mac上的主机文件中:
127.0.0.1 nginx
在我的Mac上,我可以在浏览器中连接http://nginx
,然后加载docker容器中的网站。我还有一个在VMWare Fusion中运行的Windows VM,以便测试IE。在我的Windows VM上,我将主机文件配置为:
10.10.123.3 nginx
10.10.123.3
在我的Mac的IP地址中但是当我在浏览器窗口机器上转到http://nginx
时,它不会加载。我将网络适配器设置为“Internet共享 - >与我的Mac共享”。我还有一个简单的http服务器在端口8000上通过python运行,当我去http://nginx:8000
时,它确实加载了该站点,所以看起来我的网络配置和窗口主机文件配置正在工作,只是不用于docker的东西
为了能够将Docker的东西暴露给我的窗口VM,我有什么特别的事情吗?
答案 0 :(得分:1)
我想你会想要运行
boot2docker ip
获取boot2docker oracle虚拟盒的ip地址。如果您使用-p启动docker容器,请执行以下操作:
docker start -p 8000:8000 `imagename`
然后使用http://IpAddressOfOracleVirtBox:8000如果您不使用-p,则不会暴露容器中的任何端口。第一个8000是Virtual Box上的端口..第二个8000是容器的端口。如果您希望virt中的端口80将请求转发到容器中的8000,则可以执行-p 80:8000。
回答(由提问作者编辑)
使用boot2docker ip
后,您只需使用该IP地址,而不是使用Window的VM主机文件中的Mac IP地址。
答案 1 :(得分:0)
我猜您无法访问该计算机,因为网络方法" Internet Sharing - >与我的Mac分享"只允许VM通过Mac访问互联网。
我认为您必须在VM,网桥模式或内部网络中创建另一个网络。
您使用的网络方法仅允许VM访问互联网,而不是网络中的其他地址。
我认为桥接模式更容易,因为VM将从您的路由器网络获得IP地址。
我没有在这里测试Mac,但我想这就是你遇到的问题。
我希望能帮到你。