Dockerfile.prod 762 B

12345678910111213141516171819202122232425262728
  1. FROM python:3.12-slim
  2. ENV TZ=Asia/Shanghai \
  3. APP_ENV=prod
  4. RUN python -m venv /venv
  5. ENV PATH="/venv/bin:$PATH"
  6. # 先复制 requirements 文件安装依赖(利用缓存)
  7. COPY requirements.txt /tmp/
  8. RUN /venv/bin/pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple \
  9. && /venv/bin/pip config set install.trusted-host mirrors.aliyun.com \
  10. && /venv/bin/pip --default-timeout=1800 install -r /tmp/requirements.txt \
  11. && rm -rf /root/.cache
  12. # 设置工作目录并复制项目文件
  13. WORKDIR /app
  14. COPY . /app/standards_service/
  15. RUN mkdir -p /app/standards_service/logs
  16. ENV PYTHONPATH=/app/standards_service
  17. EXPOSE 8107
  18. # 使用虚拟环境运行
  19. CMD ["/venv/bin/uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8107"]