我有一个正在运行的 drupal-9 ddev 站点。我的目标是添加对在
./bot/app.py
运行 Python-Flask 应用程序的支持,该应用程序在 localhost:800X 上运行。
到目前为止的变化 - 这部分有效。 .ddev/config.yaml
webimage_extra_packages: += [python3, python-is-python3]
但是我如何启动/添加 python Web 应用程序?
这些不起作用:
post-start: - exec: "cd bot && python -m flask run --host=0.0.0.0 --port=5001 --debug"
web_extra_daemons:
- name: "flask_dev_server"
command: "python -m /home/loom23/.local/bin/flask run --host=0.0.0.0 --port=5001 --debug"
directory: /var/www/html/bot
我在其他 docker-compose 配置中看到 Flask-app 在 Dockerfile 中启动 - 实现此目的的最佳方法是什么?
要将 Flask-WSGI 路由添加到 DDEV 环境中现有的 Drupal 构建,请尝试此
.ddev/config.yaml
文件以包含 DDEV 启动后运行 Flask 应用程序所需的配置。看起来您已经添加了 Python 包并执行了用于安装需求的启动后挂钩。webimage_extra_packages: [python3, python-is-python3]
hooks:
post-start:
- exec: "cd bot && pip install -r requirements-test.txt"
- exec: "cd bot && python -m flask run --host=0.0.0.0 --port=8001 --debug"
这假设您的 Flask 应用程序应在端口 8001 上运行。根据需要调整端口号。
确保您的 Flask 应用程序配置为使用指定的主机和端口运行。
--host=0.0.0.0
使应用程序可以从容器外部访问。
验证 Flask 应用程序在 DDEV 启动后是否正常运行。
通过合并这些更改,当您运行 DDEV 时,Flask 应用程序应该会自动启动,并且如果您将端口设置为 8001,则可以通过
http://localhost:8001
访问它。
请记住根据您的具体项目要求调整配置。