# ============================================================ # Flask 后端 Dockerfile # 基于 Python 3.12 Alpine(精简镜像,约 50MB) # ============================================================ FROM python:3.12-alpine # 设置工作目录 WORKDIR /app # 先复制依赖文件(利用 Docker 缓存层,代码改动时不用重装依赖) COPY requirements.txt . # 安装 Python 依赖 # --no-cache-dir: 不缓存 pip 包,减小镜像体积 RUN pip install --no-cache-dir -r requirements.txt # 复制应用代码 COPY . . # 创建数据目录(SQLite 数据库文件存放位置) RUN mkdir -p /app/data # 暴露端口(Flask 默认 5000) EXPOSE 5000 # 启动命令:初始化数据库 + 启动 Flask # waitress-serve 是生产级 WSGI 服务器,比 flask run 更稳定 CMD ["sh", "-c", "python seed_data.py && python -m flask run --host=0.0.0.0 --port=5000"]