ioe/Dockerfile
2025-05-15 09:48:46 +08:00

45 lines
1.1 KiB
Docker

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"]