Azure WebApp,用于没有公开端口的容器

时间:2018-04-18 13:06:06

标签: azure docker azure-web-sites

我有一个自定义的docker镜像,目的是处理加载到存储帐户或服务总线的文件。容器没有暴露的端口。

我可以部署此映像并在Azure Web App上启动容器,但在240秒后容器似乎终止。日志表明容器未在时间限制内启动。

我是否正确假设如果我的容器中没有暴露任何端口,那么webapp认为容器没有正确启动?

如果是这种情况,部署我的容器的最佳选择是什么? (ACI,ACS,AKS,......?)

1 个答案:

答案 0 :(得分:0)

Azure负载均衡器的默认空闲超时设置为四分钟。这通常是Web请求的合理响应时间限制。如果您的webapp需要后台处理,建议使用Azure WebJobs。 Azure Web应用程序可以调用WebJobs,并在后台处理完成时收到通知。您可以从多种方法中选择使用WebJobs,包括队列和触发器,请参阅https://docs.microsoft.com/en-us/azure/app-service/web-sites-create-web-jobs

在此处查看常见问题解答:https://docs.microsoft.com/en-gb/azure/app-service/containers/app-service-linux-faq

我可以在自定义容器映像上公开多个端口吗? 我们目前不支持暴露多个端口。

我的自定义容器侦听端口80以外的端口。如何配置我的应用程序以将请求路由到该端口? 我们有自动端口检测。您还可以指定名为WEBSITES_PORT的应用程序设置,并为其指定预期端口号的值。以前,该平台使用PORT应用程序设置。我们计划弃用此应用设置并专门使用WEBSITES_PORT。