Dockerfile 831 B

12345678910111213141516171819202122232425262728293031323334353637
  1. # 使用官方 Python 3.12 slim 镜像作为基础镜像
  2. FROM python:3.12-slim
  3. # 设置工作目录
  4. WORKDIR /app
  5. # 设置环境变量
  6. ENV PYTHONDONTWRITEBYTECODE=1 \
  7. PYTHONUNBUFFERED=1 \
  8. TZ=Asia/Shanghai
  9. # 安装系统依赖
  10. # build-essential: 编译依赖
  11. # curl: 网络工具
  12. # libgl1: OpenCV 等库可能需要 (替换已弃用的 libgl1-mesa-glx)
  13. RUN apt-get update && apt-get install -y --no-install-recommends \
  14. build-essential \
  15. curl \
  16. libgl1 \
  17. libglib2.0-0 \
  18. && rm -rf /var/lib/apt/lists/*
  19. # 复制依赖文件
  20. COPY requirements.txt .
  21. # 处理 Windows 特有依赖 (pywin32) 并安装依赖
  22. RUN sed -i '/pywin32/d' requirements.txt && \
  23. pip install --no-cache-dir -r requirements.txt
  24. # 复制项目代码
  25. COPY . .
  26. # 暴露端口
  27. EXPOSE 18001
  28. # 启动命令
  29. CMD ["python", "main.py"]