|
|
@@ -0,0 +1,43 @@
|
|
|
+# 使用官方Python 3.9镜像作为基础
|
|
|
+FROM python:3.9-slim
|
|
|
+
|
|
|
+# 设置工作目录
|
|
|
+WORKDIR /app
|
|
|
+
|
|
|
+# 设置环境变量
|
|
|
+ENV PYTHONDONTWRITEBYTECODE=1 \
|
|
|
+ PYTHONUNBUFFERED=1 \
|
|
|
+ DJANGO_SETTINGS_MODULE=myproject.settings
|
|
|
+
|
|
|
+# 安装系统依赖
|
|
|
+RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
|
+ gcc \
|
|
|
+ libpq-dev \
|
|
|
+ && apt-get clean \
|
|
|
+ && rm -rf /var/lib/apt/lists/*
|
|
|
+
|
|
|
+# 复制依赖文件
|
|
|
+# COPY requirements.txt .
|
|
|
+
|
|
|
+# 安装Python依赖
|
|
|
+RUN pip install --no-cache-dir Django Markdown
|
|
|
+
|
|
|
+# 复制项目文件
|
|
|
+COPY ./pythonweb .
|
|
|
+
|
|
|
+# 复制启动脚本并设置执行权限
|
|
|
+# COPY entrypoint.sh /entrypoint.sh
|
|
|
+# RUN chmod +x /entrypoint.sh
|
|
|
+
|
|
|
+# 创建非root用户
|
|
|
+RUN useradd -m -u 1000 django && chown -R django:django /app
|
|
|
+USER django
|
|
|
+
|
|
|
+# 暴露端口
|
|
|
+EXPOSE 8000
|
|
|
+
|
|
|
+# 设置入口点
|
|
|
+# ENTRYPOINT ["/entrypoint.sh"]
|
|
|
+
|
|
|
+# 启动命令
|
|
|
+CMD ["python", "/app/pythonweb/manage.py", "runserver", "8000"]
|