为什么我的Docker正在运行,但是Http没有被服务?
我最近从https://www.docker.com/products/docker-toolbox安装DockerToolbox并安装。 我testing了它,并根据快速testingdocker运行你好,世界运作良好。 现在学习如何按照https://docs.docker.com/get-started/part2/一步一步地使用它,首先我创build了一个Docker镜像:
docker build -t friendlyhello .
然后我检查构build的图像:
$ docker images
运行应用程序,将我的机器的端口4000映射到容器的已发布端口80,使用-p:
docker run -p 4000:80 friendlyhello
问题是当我在浏览器中inputurl时,应用程序没有按预期的方式被提供服务。 HTTP://本地主机:4000
即使当我从壳中curl,我也不明白:
我将不胜感激关于如何解决问题的任何想法。
这很可能是由于Docker-Machine而不是你的docker镜像。 您应该尝试访问图像:
http://[ip-address-of-vm]:4000
原因是由于docker在虚拟机上运行而不是实际的窗口,因此端口映射是在虚拟机上完成的。 如果要使用本地主机映射访问权限,则必须设置一个规则,以便从访客机器向主机机器端口转发。 在Oracle Virtual Box中,这可以通过在虚拟机的设置下轻松完成。 在NAT适配器下,您将find端口转发button。
编辑:
我忘了提及这一点,但0.0.0.0将永远不可能通过networking浏览器或curl命令,因为这只是意味着它正在监听所有的networking接口。
- 使用Python抓取Docker统计结果
- 在另一个docker-compose容器中运行Python脚本
- 如何避免Dockerfile中的大型二进制文件caching失效(Python_Onbuild)
- 以编程方式获取docker统计信息
- 如何在intellij中debuggingpython容器?
- 如何在cloud9.io上的工作区(容器)之间分配应用程序工作负载?
- 卷上的Python Docker API错误使用“悬挂”filter进行修剪
- Docker“错误:在分配给networking的默认值中找不到可用,不重叠的IPv4地址池”
- Docker构build在`add-apt-repository:not found`上失败