Dockerfile 913 B

123456789101112131415161718192021222324252627282930313233
  1. # 使用轻量级 Python 基础镜像
  2. FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/python:3.11-slim
  3. # 设置工作目录
  4. WORKDIR /app
  5. # 环境变量优化
  6. ENV PYTHONDONTWRITEBYTECODE=1 \
  7. PYTHONUNBUFFERED=1 \
  8. PIP_DISABLE_PIP_VERSION_CHECK=on \
  9. TZ=Asia/Shanghai \
  10. PATH="/root/.local/bin:$PATH" \
  11. DEBIAN_FRONTEND=noninteractive
  12. # 安装系统依赖(如果 requirements 里需要编译 C 扩展)
  13. RUN apt-get update && apt-get install -y --no-install-recommends \
  14. build-essential \
  15. curl \
  16. tzdata \
  17. && rm -rf /var/lib/apt/lists/*
  18. # 先复制 requirements 并安装依赖(利用缓存)
  19. COPY requirements.txt .
  20. RUN pip install --no-cache-dir -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
  21. # 再复制项目文件
  22. COPY . .
  23. # 暴露端口
  24. EXPOSE 8001 8002
  25. # 启动命令
  26. CMD ["hypercorn", "vector_app:app", "--config", "config.toml"]