Dockerfile 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. FROM python:3.10-slim
  2. # 提前定义PYTHONPATH,避免未定义警告
  3. ENV PYTHONPATH="${PYTHONPATH:-}:/web/ASJServer/Docker/libs"
  4. WORKDIR /web/ASJServer
  5. # 安装系统依赖(使用mariadb-client-compat替代mysql-client)
  6. RUN apt-get update || true && \
  7. apt-get install -y --no-install-recommends \
  8. apt-utils \
  9. gcc \
  10. libffi-dev \
  11. libssl-dev \
  12. supervisor \
  13. # MySQL客户端开发库(提供mysql_config)
  14. default-libmysqlclient-dev \
  15. # 替代mysql-client的兼容包
  16. mariadb-client-compat \
  17. # 替换为兼容的OpenGL库(解决libGL.so.1缺失问题)
  18. libgl1 \
  19. libglib2.0-0 \
  20. && rm -rf /var/lib/apt/lists/*
  21. # 先安装Python依赖
  22. COPY requirements.txt .
  23. RUN pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple && \
  24. pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
  25. # 创建私有包目录并复制
  26. RUN mkdir -p /web/ASJServer/Docker/libs
  27. COPY ./Docker/libs/* /web/ASJServer/Docker/libs/
  28. # 复制项目其他文件和supervisor配置
  29. COPY . .
  30. COPY ./Docker/conf/supervisord_*.conf /etc/supervisor/
  31. CMD ["/usr/bin/supervisord", "-n"]