Dockerfile.test 973 B

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