FROM python:3.10-slim # 设置工作目录 WORKDIR /app # 设置环境变量 ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 RUN sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list.d/debian.sources && \ sed -i 's/security.debian.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list.d/debian.sources # 安装系统依赖 RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ libpq-dev \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # 安装Python依赖 COPY requirements.txt . RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --no-cache-dir -r requirements.txt # 复制项目文件 COPY . . # 创建数据库目录 RUN mkdir -p /app/db # 设置 /app 目录及其内容的权限为 777 (临时调试) RUN chmod -R 777 /app # 创建日志目录并设置权限 RUN mkdir -p logs && chmod 777 logs # 收集静态文件 RUN python manage.py collectstatic --noinput # 自动执行数据库迁移和创建超级用户 RUN python manage.py migrate # 暴露端口 EXPOSE 8000 # 启动命令 CMD ["gunicorn", "inventory.wsgi:application", "--bind", "0.0.0.0:8000"]