Dockerfile 875 B

1234567891011121314151617181920212223242526272829303132
  1. FROM python:3.12-slim
  2. # 环境变量配置
  3. ENV DEBIAN_FRONTEND=noninteractive \
  4. TZ=Asia/Shanghai
  5. # 创建虚拟环境(无多余注释,换行仅用 \ 连接)
  6. RUN chmod 777 /tmp && python -m venv /venv
  7. # 配置虚拟环境 PATH
  8. ENV PATH="/venv/bin:$PATH"
  9. # 复制依赖文件
  10. COPY requirements.txt /tmp/
  11. # 关键:用 uv 安装依赖(一行命令拆分行,仅用 \ 连接,无任何行首注释)
  12. RUN /venv/bin/pip install --no-cache-dir uv -i https://mirrors.aliyun.com/pypi/simple/ \
  13. && /venv/bin/uv pip install \
  14. --index-url https://mirrors.aliyun.com/pypi/simple/ \
  15. --no-cache \
  16. -r /tmp/requirements.txt \
  17. && rm -rf /root/.cache /tmp/requirements.txt
  18. # 项目部署
  19. WORKDIR /app
  20. COPY . /app
  21. EXPOSE 8001
  22. RUN chmod 777 run.sh
  23. # 启动命令
  24. CMD ["/venv/bin/python", "server/app.py", "--host", "0.0.0.0", "--port", "8001"]