Dockerfile 929 B

12345678910111213141516171819202122232425262728293031
  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 \
  13. && /venv/bin/uv config set global.index-url https://mirrors.aliyun.com/pypi/simple \
  14. && /venv/bin/uv config set global.trusted-host mirrors.aliyun.com \
  15. && /venv/bin/uv pip install --no-cache --timeout 1800 -r /tmp/requirements.txt \
  16. && rm -rf /root/.cache /tmp/requirements.txt
  17. # 项目部署
  18. WORKDIR /app
  19. COPY . /app
  20. EXPOSE 8001
  21. RUN chmod 777 run.sh
  22. # 启动命令
  23. CMD ["/venv/bin/python", "server/app.py", "--host", "0.0.0.0", "--port", "8001"]