From f350e87573203a239569366c58091e22df858487 Mon Sep 17 00:00:00 2001 From: sensen Date: Tue, 29 Apr 2025 21:57:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20dockerfile.example?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dockerfile.example | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 dockerfile.example diff --git a/dockerfile.example b/dockerfile.example new file mode 100644 index 0000000..3228ae8 --- /dev/null +++ b/dockerfile.example @@ -0,0 +1,44 @@ +# 1. 选择基础镜像 (推荐使用具体的版本号) +FROM python:3.10 + +# 2. 设置工作目录 +WORKDIR /app + +# 3. 更新apt包列表并安装系统依赖 +# - build-essential: 用于编译一些Python包可能需要的C/C++代码 +# - ffmpeg: 被 moviepy 和 imageio-ffmpeg 需要 +# - libgl1-mesa-glx, libglib2.0-0: opencv-python 可能需要的运行时库 +# - wkhtmltopdf: pdfkit 需要的工具 +# --no-install-recommends 减少不必要的包安装 +# 最后清理 apt 缓存以减小镜像体积 +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + build-essential \ + ffmpeg \ + libgl1-mesa-glx \ + libglib2.0-0 \ + wkhtmltopdf \ + && rm -rf /var/lib/apt/lists/* + +# 4. (推荐) 将你的 requirements.txt 文件复制到镜像中 +# 先复制 requirements.txt 并安装依赖,可以利用 Docker 的层缓存机制 +# 只有当 requirements.txt 改变时,这一层及之后的层才会重新构建 +COPY requirements.txt . + +# 5. 安装 Python 依赖 +# --no-cache-dir 减少镜像体积 +# -r requirements.txt 从文件安装 +RUN pip install --no-cache-dir -r requirements.txt + +# 6. 复制你的 Flask 应用代码到镜像中 +COPY . . + +# 7. 声明你的 Flask 应用监听的端口 (默认是 5000) +EXPOSE 5000 + +# 8. 定义容器启动时运行的命令 +# 使用 Gunicorn 或 uWSGI 在生产环境中通常更好,但对于开发,flask run 也可以 +# 确保 Flask 监听 0.0.0.0 以便从容器外部访问 +CMD ["flask", "run", "--host=0.0.0.0"] +# 或者如果你的启动文件是 app.py: +# CMD ["python", "app.py"] \ No newline at end of file