Azure 应用服务容器不断重启

Azure App Service Container keeps on restarting

我创建了一个 Azure 应用程序服务 运行 一个 docker 容器。

但是容器似乎一直在重启: 2020-01-09 07:21:56.543 信息 - 站点 xxx 的容器 XXX 已成功初始化并准备好处理请求。 2020-01-09 07:22:01.559 错误 - xxx 站点 xxx 的容器不健康,正在停止站点。 2020-01-09 07:22:01.559 信息 - 停止站点 xxx,因为它不健康。

由于它是资源密集型应用程序,因此服务可能没有快速响应。

我已经尝试添加以下设置:

{ "name": "CONTAINER_AVAILABILITY_CHECK_MODE", "value": "Off", "slotSetting": 错误 }

但没有效果。

根据你使用的镜像apache/drill:1.17.0的Dockerfile,它没有对外暴露8047端口访问。并且有两种方法可以暴露显示 here 的端口,然后你就可以在外面访问了。所以第二种方式适合这种情况,当你设置环境变量WEBSITES_PORT值为8047时,你就可以在外面访问web app了。这是在我这边运行良好的屏幕截图:

更新:

似乎图像需要交互模式,docker 命令到 运行 它应该是 docker run -i --name drill-1.17.0 -p 8047:8047 --detach -t apache/drill:1.17.0 /bin/bash 或另一个具有交互模式的类似命令。或者它会在几分钟后停止。但是你不能在Web App中改变运行s图像的命令,所以你也不能在Web App中为图像使用交互方式。

因此解决方案是您需要创建一个自定义图像以使其保持在基于图像 apache/drill:1.17.0 的 运行ning 状态。然后就可以正常使用了。