为什么我的Docker正在运行但Http没有被提供?

时间:2017-10-10 21:16:20

标签: python docker

我最近从https://www.docker.com/products/docker-toolbox安装了DockerToolbox并已安装。我根据快速测试docker run hello-world进行了测试并运行良好。现在逐步学习如何在https://docs.docker.com/get-started/part2/之后使用它,首先我创建了一个Docker镜像:

docker build -t friendlyhello .

然后我检查构建的图像:

$ docker images

运行应用程序,使用-p将我的机器的端口4000映射到容器的已发布端口80:

docker run -p 4000:80 friendlyhello

enter image description here 问题是当我在浏览器中输入网址时,应用程序未按预期提供。 http://localhost:4000 enter image description here

即使我从贝壳中蜷缩起来,我也无法得到它: enter image description here

我将很感激如何解决问题。

1 个答案:

答案 0 :(得分:0)

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

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

原因是由于docker在VM而不是实际的Windows上运行,因此端口映射在VM上完成。如果要使用localhost映射访问权限,则必须设置规则以从来宾计算机端口转发到主机。在Oracle Virtual Box中,可以通过在VM的设置下轻松完成。在NAT适配器下,您将找到端口转发按钮。

VM Port Fowarding

编辑:

我忘了提这个,但是0.0.0.0永远无法通过网络浏览器或curl命令访问,因为这只是意味着它正在所有网络接口上进行监听。

相关问题