尝试在azure应用程序服务中部署docker-compose应用程序时出现应用程序错误

问题描述 投票:0回答:3

我正在尝试使用 docker-compose 在 azure 应用程序服务上部署 Django 应用程序,我已经将两个映像推送到 ACR,当我在计算机上执行 docker-compose.yml 时,一切正常,但是当我部署应用程序时,访问 URL 它只显示下一条消息:

":( 应用程序错误 如果您是应用程序管理员,则可以访问诊断资源。”

我还在部署中心日志中搜索了任何类型的信息,但只有这条消息

“无法加载容器日志:未找到文本类型的资源容器日志”

知道如何修复它吗?

这是我的 docker-compose.yml

services:
  web:
    image: zaito.azurecr.io/backgroundtasks:latest
    command: uwsgi --http "0.0.0.0:8000" --protocol uwsgi --module zaitoTasksApi.wsgi --master --processes 4 --threads 2 
    volumes:
      - static_volume:/usr/src/app/static
      - media_volume:/usr/src/app/media
    expose:
      - "8000"
  nginx:
    image: zaito.azurecr.io/nginx:django
    restart: always
    volumes:
      - static_volume:/usr/src/app/static
      - media_volume:/usr/src/app/media
    ports:
      - "80:80"
    depends_on:
      - web
volumes:
  media_volume:
  static_volume:
azure docker-compose azure-web-app-service
3个回答
1
投票

此错误的原因之一可能是 Azure 在特定时间限制后未执行应用程序。

我解决这个问题的方法是在配置选项中添加命令

python app.py
。有可选的启动命令,以防应用程序命令未正确执行。

Configuration setup screenshot

您可以输入自己的应用程序启动命令。


0
投票

我的回答可能与最初的问题没有直接关系,但我希望我描述的信息也能帮助其他人。

版本排序

Container Issues
部分中的
Diagnose and solve problems
工具可能会显示错误消息,否则无法直接看到。

详情

最近,即使使用单个容器,我们的应用程序服务之一也会出现相同的错误消息。

奇怪的是,它完美运行了两年,我们没有刻意改变任何东西。

初始症状: 应用程序返回 5xx http 错误代码 在部署中心/日志页面上,我们仅收到以下消息:“无法加载容器日志:未找到文本类型的资源容器日志”

恢复尝试: 我尝试启动/停止应用程序、扩大/缩小服务计划、选择基本/高级 sku。即使使用库存 nginx 容器映像,应用程序服务也不提供日志。

我们观察到的情况: 应用程序返回 5xx http 错误代码 开发工具/高级工具返回错误页面:”:( 应用程序错误 如果您是应用程序管理员,您可以访问“ 开发工具/SSH 返回错误页面:“:( 应用程序错误 如果您是应用程序管理员,您可以访问“

分辨率: 后来,使用

Container Issues
部分中的
Diagnose and solve problems
工具显示以下错误:

[BYOS] 自定义存储卷无法初始化:[/var/LWASFiles/Sites/xxxx-d-we-001/f60654]

事实证明,相关的存储帐户是在部署期间由 terraform 重新创建的。


0
投票

在这里找到了这个答案

https://learn.microsoft.com/en-us/answers/questions/955528/(-application-error-when-using-docker-compose

看起来这个问题可能与虚拟网络集成有关

“应用服务中的 Docker Compose 场景不支持虚拟网络集成。”

© www.soinside.com 2019 - 2024. All rights reserved.