从私有docker映像在azure上运行单个容器应用程序会返回::(应用程序错误

时间:2019-12-21 15:49:57

标签: azure docker azure-web-app-service

我希望使用azure Web应用程序服务来运行多个容器的应用程序,但是我从一个更简单的情况开始,即为已经作为容器实例工作的图像运行单个容器。

目前,我是从网站进行此部署,而不是使用CLI

enter image description here

当我访问网站网址时,出现此错误:

enter image description here

从容器设置部分,我收到此消息:

2019-12-21 15:45:15.759 INFO  - Waiting for response to warmup request for container policy-recomd_0_31cfeac3. Elapsed time = 212.2003193 sec
2019-12-21 15:45:30.845 INFO  - Waiting for response to warmup request for container policy-recomd_0_31cfeac3. Elapsed time = 227.2867951 sec
2019-12-21 15:45:33.875 ERROR - Container policy-recomd_0_31cfeac3 for site policy-recomd did not start within expected time limit. Elapsed time = 230.3163708 sec
2019-12-21 15:45:33.876 ERROR - Container policy-recomd_0_31cfeac3 didn't respond to HTTP pings on port: 5100, failing site start. See container logs for debugging.
2019-12-21 15:45:33.887 INFO  - Stoping site policy-recomd because it failed during startup.

编辑 这是我为该应用获得的图像菜单:

enter image description here

我将端口号添加到配置中,但仍然无法正常工作:

enter image description here

2 个答案:

答案 0 :(得分:2)

这是Azure Web App的限制,它仅支持公开端口80和443。您需要公开Dockerfile中的端口80和5100,最后在Azure App Application Settings中添加两个新变量PORT = 5100和WEBSITES_PORT = 80。

答案 1 :(得分:0)

将单个映像部署到Web App时,不需要为需要公开的端口添加环境变量,如果您已经在Dockerfile中公开了该端口,则将自动检测到该变量。您可以查看troubleshooting for NoPing中的第一方法。您也可以使用第二种方法,但这不是必需的。