【问题标题】:Flask Docker image giving time-out error on AzureFlask Docker 映像在 Azure 上出现超时错误
【发布时间】:2019-01-04 08:51:27
【问题描述】:

我正在尝试在 Azure off Docker 上运行 Flask mega-tutorial app。 Dockerfile 是给定的here,首先我尝试了 EXPOSE 5000(如本 Dockerfile 中所述),但由于导致 ERR_CONNECTION_TIMED_OUT 我然后按照建议的here 尝试了 EXPOSE 80:但错误仍然存​​在。

Dockerfile 中的端口 5000 和 80 在本地服务器上运行良好。此外,在每种情况下,对于 Azure,instanceView.state=="Running" 但 ping ip 地址不会返回任何内容。

Azure-Docker helloWorld image 也运行良好,我的 Azure CLI 命令与此示例中的命令完全相同,只是更改了容器注册表名称等。除了 CLI,我还尝试在 Azure 门户上使用同样的结果。

谢谢

【问题讨论】:

  • 还有问题吗?

标签: python azure docker flask


【解决方案1】:

当您的图像没有问题并且可以在本地正常工作时。如果使用 Azure 容器实例,应该是端口问题。

Azure 容器实例目前不支持端口映射,例如 使用常规 docker 配置

这意味着如果您在容器中公开端口 5000,您应该在 Azure 容器实例组中公开相同的端口。有关详细信息,请参阅IPs may not be accessible due to mismatched ports。另外,也许最好使用端口 80。希望这会对您有所帮助。如果有更多问题可以给我留言。

在您的 GitHub 中使用您的应用程序进行测试。结果截图如下:

【讨论】:

  • 我在 shell 脚本和 Dockerfile 中都更新了端口 80 并重新运行了应用程序。我的 azure CLI 命令和az container create 的输出是here。容器和 Azure 容器实例组都公开端口 80,但仍然出现 timed_out 错误。谢谢
  • 在hello world应用中监听什么端口?
  • OP 中的 helloWorld 图片链接中提到的 80 端口
  • 你可以看看日志。需要更多细节。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-10
  • 2022-08-10
  • 1970-01-01
  • 1970-01-01
  • 2022-01-05
  • 2020-12-24
相关资源
最近更新 更多