Antigravity Agent commited on
Commit
c3f3f0a
·
1 Parent(s): 27e4d6e

fix: switch from ASGI (uvicorn) to WSGI (gunicorn) for Flask app

Browse files
Files changed (2) hide show
  1. Dockerfile +4 -7
  2. requirements.txt +1 -0
Dockerfile CHANGED
@@ -1,24 +1,21 @@
1
  FROM python:3.9
2
 
3
- # 创建并切换到非 root 用户
4
  RUN useradd -m -u 1000 user
5
  USER user
6
  WORKDIR /app
7
 
8
- # 设置环境变量,确保 pip 安装的二进制文件在 PATH 中
9
  ENV PATH="/home/user/.local/bin:$PATH"
10
  ENV PYTHONUNBUFFERED=1
11
 
12
- # 复制依赖并安装 (增加 --user 确保安装到 user 目录下)
13
  COPY --chown=user requirements.txt .
14
  RUN pip install --no-cache-dir --upgrade --user -r requirements.txt
15
 
16
  # 复制工程全量资产
17
  COPY --chown=user . .
18
 
19
- # 暴露端口
20
  EXPOSE 7860
21
 
22
- # 核心修复:使用 python -m 调用 uvicorn彻底解决 PATH 找不到执行文件的问题
23
- # 确保你的 app.py 内部有名为 app 的 FastAPI/Flask 实例
24
- CMD ["python", "-m", "uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
 
1
  FROM python:3.9
2
 
3
+ # 创建并切换到非 root 用户 (HF 安全规范)
4
  RUN useradd -m -u 1000 user
5
  USER user
6
  WORKDIR /app
7
 
 
8
  ENV PATH="/home/user/.local/bin:$PATH"
9
  ENV PYTHONUNBUFFERED=1
10
 
11
+ # 复制并安装依赖
12
  COPY --chown=user requirements.txt .
13
  RUN pip install --no-cache-dir --upgrade --user -r requirements.txt
14
 
15
  # 复制工程全量资产
16
  COPY --chown=user . .
17
 
 
18
  EXPOSE 7860
19
 
20
+ # 核心修复:使用 gunicorn 启动 Flask (WSGI) 应用完美对接 7860 端口
21
+ CMD ["gunicorn", "-b", "0.0.0.0:7860", "app:app"]
 
requirements.txt CHANGED
@@ -5,3 +5,4 @@ asyncio
5
  requests
6
  uvicorn
7
  fastapi
 
 
5
  requests
6
  uvicorn
7
  fastapi
8
+ gunicorn