Azure应用服务容器不断重新启动

标签 azure docker azure-app-service-envrmnt

我创建了一个运行 Docker 容器的 Azure 应用服务。

但是容器似乎一直在重新启动: 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,因为它不健康。

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

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

{ “名称”:“CONTAINER_AVAILABILITY_CHECK_MODE”, “值”:“关闭”, “slotSetting”:假 }

但没有效果。

最佳答案

根据您使用的镜像apache/drill:1.17.0的Dockerfile,它没有暴露8047端口供外部访问。并且有两种方法可以公开显示 here 的端口。然后您可以根据需要访问外部。所以第二种方式适合这种情况,当你设置环境变量 WEBSITES_PORT值(value)8047 ,然后就可以访问外部的Web应用程序了。这是在我这边运行良好的屏幕截图:

enter image description here

更新:

看来该镜像需要交互模式,运行它的 docker 命令应该是 docker run -i --name drill-1.17.0 -p 8047:8047 --detach -t apache/drill:1.17.0 /bin/bash或具有交互模式的另一个类似命令。或者几分钟后就会停止。但您无法更改 Web App 中运行图像的命令,因此您也无法在 Web App 中对图像使用交互模式。

所以解决方案是,您需要创建一个自定义镜像,使其基于镜像 apache/drill:1.17.0 保持运行状态。然后就可以正常工作了。

关于Azure应用服务容器不断重新启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59659079/

相关文章:

virtualbox - 如何将 Docker 镜像转换为( Vagrant )VirtualBox 盒子?

bash - 无法通过 Bash 创建文件

azure - 每个实例的 Web 套接字和 IP 连接之间有什么区别?

azure - 横向扩展 Azure 应用服务太慢

azure - 到期时自动更新服务主体客户端 key ?

svn - Subversion 提交后 Hook SSL 证书错误 'certificate issued for different hostname'

python - 从 python 调用 webjob

azure - 允许应用程序网关后端池指向特定 VM

docker - kubelet无法使用kube-dns设置集群dns参数

docker - 声明环境变量,其值包括 docker/docker-compose 的空间