dockerfile 918 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. # 使用官方Python 3.9镜像作为基础
  2. FROM python:3.9-slim
  3. # 设置工作目录
  4. WORKDIR /app
  5. # 设置环境变量
  6. ENV PYTHONDONTWRITEBYTECODE=1 \
  7. PYTHONUNBUFFERED=1 \
  8. DJANGO_SETTINGS_MODULE=myproject.settings
  9. # 安装系统依赖
  10. RUN apt-get update && apt-get install -y --no-install-recommends \
  11. gcc \
  12. libpq-dev \
  13. && apt-get clean \
  14. && rm -rf /var/lib/apt/lists/*
  15. # 复制依赖文件
  16. # COPY requirements.txt .
  17. # 安装Python依赖
  18. RUN pip install --no-cache-dir Django Markdown
  19. # 复制项目文件
  20. COPY ./pythonweb .
  21. # 复制启动脚本并设置执行权限
  22. # COPY entrypoint.sh /entrypoint.sh
  23. # RUN chmod +x /entrypoint.sh
  24. # 创建非root用户
  25. RUN useradd -m -u 1000 django && chown -R django:django /app
  26. USER django
  27. # 暴露端口
  28. EXPOSE 8000
  29. # 设置入口点
  30. # ENTRYPOINT ["/entrypoint.sh"]
  31. # 启动命令
  32. CMD ["python", "/app/pythonweb/manage.py", "runserver", "8000"]