Dockerfile 1.0 KB

123456789101112131415161718192021222324252627
  1. FROM registry.cn-hangzhou.aliyuncs.com/stuuudy/python:3.11-slim AS base
  2. WORKDIR /app
  3. ENV PYTHONDONTWRITEBYTECODE=1 \
  4. PYTHONUNBUFFERED=1 \
  5. TZ=Asia/Shanghai \
  6. PYTHONPATH=/app
  7. # 安装编译工具链(pyodps 等依赖构建 wheel 可能需要 gcc)
  8. RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources && \
  9. apt-get update && \
  10. apt-get install -y --no-install-recommends gcc g++ libc6-dev tzdata && \
  11. ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \
  12. echo $TZ > /etc/timezone && \
  13. rm -rf /var/lib/apt/lists/*
  14. # 1) 安装依赖(利用 Docker layer 缓存)
  15. COPY requirements.txt /app/requirements.txt
  16. RUN pip install --no-cache-dir --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple/ && \
  17. pip install --no-cache-dir -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
  18. # 2) 复制源码
  19. COPY . /app
  20. # 定时任务调度:热点搜索(6/12/18) + 解构后处理(30分钟) + ODPS 需求表写入
  21. CMD ["python", "-m", "app.scheduler"]