2017-10-10 66 views
0

我最近从https://www.docker.com/products/docker-toolbox安装了DockerToolbox并进行了安装。我测试了它,并根据快速测试码头运行hello-world运行良好。现在学习如何使用它下面https://docs.docker.com/get-started/part2/正是一步一步,首先我创建了一个码头工人形象:
为什么我的Docker运行但Http没有被提供?

docker build -t friendlyhello . 

然后我检查内置图像:

$ docker images 

运行应用程序,制图我的机器的端口4000到容器公布的80端口使用-p:

docker run -p 4000:80 friendlyhello 

enter image description here 问题是当我在浏览器中输入url时,应用程序未按预期方式投放。 http://localhost:4000 enter image description here

即使当我从壳卷曲,我不明白这一点: enter image description here

我会明白如何来解决这个问题的任何想法。

回答

0

这很可能是由于Docker-Machine而不是您的泊坞窗图像。你应该尝试在访问图像:

http://[ip-address-of-vm]:4000 

的原因是是由于泊坞窗被在虚拟机上,而不是实际的窗口中运行,因此,端口映射是在虚拟机上完成的。如果您想通过使用本地主机映射访问权限,则必须设置规则以从访客机器向主机机器进行端口转发。在Oracle Virtual Box中,这可以通过在VM的设置下轻松完成。在NAT适配器下,您将找到端口转发按钮。

VM Port Fowarding

编辑:

我忘了提及这一点,但0.0.0.0绝不会通过网络浏览器或curl命令到达,因为这只是意味着它正在侦听的所有网络接口。

+0

谢谢@William Flores的回应。如你所说,'http:// [ip-address-of-vm]:4000'是'http:// [192.168.99.100]:4000'。但是不起作用。我用'127.0.0.2'替换了'0.0.0.0',并尝试了不同的端口,但没有成功。 – Nditah

+0

你需要尝试一下没有方括号 –

+0

当然,我没有方括号。它不起作用。 – Nditah

相关问题