Dockerfile 1009 B

123456789101112131415161718192021222324
  1. # 主节点后端 — 轻量级 Python 镜像,不含 GPU 依赖
  2. # 仅负责 API/DB/WebSocket 调度
  3. FROM docker.m.daocloud.io/library/python:3.10-slim
  4. WORKDIR /app
  5. # 换 Debian 国内镜像源(加速 apt-get)
  6. RUN sed -i 's|deb.debian.org|mirrors.aliyun.com|g' /etc/apt/sources.list.d/debian.sources && \
  7. sed -i 's|security.debian.org|mirrors.aliyun.com|g' /etc/apt/sources.list.d/debian.sources
  8. RUN apt-get update && apt-get install -y git && rm -rf /var/lib/apt/lists/*
  9. COPY requirements.txt .
  10. RUN pip install -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com uv && \
  11. uv pip install --system -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com -r requirements.txt
  12. COPY . .
  13. EXPOSE 8010
  14. HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
  15. CMD python -c "import urllib.request; urllib.request.urlopen('http://localhost:8010/health')" || exit 1
  16. CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8010"]