python - Azure 应用服务 : Stopping site MYSITE because it failed during startup

标签 python django azure docker-compose azure-web-app-service

我使用单个 Docker 容器实例在 Azure 应用服务上运行我的 Django Web 应用程序。不过,我计划再添加一个容器来运行 celery 服务。

在尝试使用 celery 和 Django Web 应用程序进行撰写之前,我首先尝试使用他们的 docker-compose 选项来运行 Django Web 应用程序,然后再使用 celery 服务进行撰写。

以下是我的 Azure 应用服务的 docker-compose 配置

version: '3.3'

services:
  web:
    image: azureecr.azurecr.io/image_name:15102020155932
    command: gunicorn DjangoProj.wsgi:application --workers=4 --bind 0.0.0.0:8000 --log-level=DEBUG
    ports:
       - 8000:8000

但是,我在应用服务日志中看到的唯一内容是:

2020-10-16T07:02:31.653Z INFO  - Stopping site MYSITE because it failed during startup.
2020-10-16T13:26:20.047Z INFO  - Stopping site MYSITE because it failed during startup.
2020-10-16T14:51:07.482Z INFO  - Stopping site MYSITE because it failed during startup.
2020-10-16T16:40:49.109Z INFO  - Stopping site MYSITE because it failed during startup.
2020-10-16T16:43:05.980Z INFO  - Stopping site MYSITE because it failed during startup.

我在本地环境中使用 docker-compose 尝试了 celery 和 Django 应用程序的组合,它似乎按预期工作。 以下是我用来在本地运行它的 docker-compose 文件:

version: '3'

services:
  web:
    image: azureecr.azurecr.io/image_name:15102020155932
    build: .
    command: gunicorn DjangoProj.wsgi:application --workers=4 --bind 0.0.0.0:8000 --log-level=DEBUG
    ports:
      - 8000:8000
    env_file:
      - .env.file
  celery:
    image: azureecr.azurecr.io/image_name:15102020155932
    build: .
    command: celery -A DjangoProj worker -l DEBUG
    depends_on:
      - web
    restart: on-failure
    env_file:
      - .env.file

我错过了什么? 我已经检查了多个SO问题,但它们都没有答案。 如果需要,我可以提供更多详细信息。

附注有一个选项可以在同一个容器中运行 Django 和 Celery,然后就到此为止,但我正在寻找一个更干净且可扩展的解决方案。

最佳答案

您必须更改端口,因为 Azure 不支持端口 8000 上的多容器应用。

配置文件.yaml 示例

version: '3.3'
services:
   api:
 image: containerdpt.azurecr.io/xxxxxxx
 command: python manage.py runserver 0.0.0.0:8080
 ports:
   - "8080:8080"

关于python - Azure 应用服务 : Stopping site MYSITE because it failed during startup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64393663/

相关文章:

Azure SQL 数据库 : Can I share stored procedures between master DB and all DB's in the server?

python - 在 Flask 中渲染部分模板

python - Django Python 脚本不输出文件

azure - 如何使用 ARM 模板复制 Azure SQL 数据库

python - Python 交叉模块中的全局变量

python - 向 django-cms 添加自定义占位符

python - 使用 python 连接到 Sql 数据库的 Azure Runbook

python - Keras, tensorflow 在 Sublime Text 和spyder 中导入错误,但在命令行中工作

Linux中的Python OCR模块?

python - 在 pyInstaller 生成的 Python EXE 中确定应用程序路径