我正在开发一个 FastAPI 应用程序。它使用 docker-compose 在 Docker 容器中的 Uvicorn 上运行。
\n我想包含一些文件,而不是*.py在开发过程中触发自动重新加载。
根据文档, Uvicorn 需要安装可选的依赖项 WatchFiles 才能使用该--reload-include标志,这将使我能够包含其他文件类型来触发重新加载。但是,当安装 WatchFiles 时(Uvicorn 通过在启动时打印此信息来确认:)Started reloader process [1] using WatchFiles,根本不会发生自动重新加载。请注意,这与运行命令的更改无关,无论是否包含包含标志。
如果没有安装 WatchFiles,Uvicorn 的默认自动重新加载功能仅适用于*.py文件。
这是 Dockerfile:
\nFROM python:3.10\n\nWORKDIR /tmp\n\nRUN pip install --upgrade pip\n\nCOPY requirements.txt .\nRUN pip install --no-cache-dir --upgrade -r requirements.txt\n\nWORKDIR /code\n\nCMD ["uvicorn", "package.main:app", "--host", "0.0.0.0", "--port", "80", "--reload"]\nRun Code Online (Sandbox Code Playgroud)\n这是 docker-compose.yml:
\nFROM python:3.10\n\nWORKDIR /tmp\n\nRUN pip install --upgrade pip\n\nCOPY requirements.txt …Run Code Online (Sandbox Code Playgroud)