Py学习  »  docker

无法通过主机访问Docker Flask服务器容器

ghbcode • 6 年前 • 563 次点击  

不幸的是,网络上充斥着类似的问题,尽管它们都略有不同,有些涉及虚拟机。以下是我的设置:

Mac OSX
Docker 18.06.0-CE型

我有一个非常简单的flask restful服务器,运行时可以通过以下方式访问: http://127.0.0.1:8015/Outlier/username/100/ 我得到了一个数值结果。

我已经用上面的服务器应用程序和需求flask、flask restful和requests设置了一个docker映像。当我运行该图像的容器时,我可以通过以下方式访问结果:

docker exec <container id> curl http://127.0.0.1:8015/Outlier/username/100/

问题是当我进入 http://127.0.0.1:8015/outlier/username/100/ 通过Chrome,在主机上,我收到消息:

此页不工作 127.0.0.1未发送任何数据。 Err_Empty_响应

我知道容器是在自己的ip:port上运行的,而在主机上,我必须正确到达那个位置。

docker ps <container id>

港口展示

0.0.0.0:8015->8015/TCP

我确保dockerfile确实公开了8015:8015(因此主机和容器端口匹配)

docker inspect <container id> 

返回一组详细信息,包括一个空主机提示。根据这个有用的 docker post 我得看看“网关”设置,在我的例子中是172.17.0.1。不管怎样,我已经通过chrome(和curl)在主机上尝试了以下方法,但没有成功。我应该设置什么其他设置?这不应该浪费时间…

http://localhost:8015/Outlier/username/100/
http://0.0.0.0:8015/Outlier/username/100/
http://127.0.0.1:8015/outlier/username/100/
http://lt;192.168.1.75我的主机IP,通过ifconfig>:8015/outlier/username/100/
http://172.17.0.1:8015/Outlier/username/100/
http://lt;172.17.0.2,根据docker inspect>:8015/outlier/username/100,它是IP地址。/

有什么指针吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/37949
文章 [ 1 ]  |  最新文章 6 年前