# 使用官方 Python 精简镜像作为基础镜像 FROM python:3.11-slim # 设置工作目录 WORKDIR /app # 设置环境变量,防止 Python 生成 .pyc 文件及缓冲 stdout/stderr ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 \ PIP_NO_CACHE_DIR=1 \ PIP_DISABLE_PIP_VERSION_CHECK=1 # 安装系统依赖(构建 cryptography 等所需) RUN apt-get update && apt-get install -y --no-install-recommends \ gcc \ libffi-dev \ libssl-dev \ curl \ && rm -rf /var/lib/apt/lists/* # 先复制依赖文件并安装,利用 Docker 缓存加速构建 COPY requirements_1.txt /app/requirements.txt RUN pip install --upgrade pip && pip install -r /app/requirements.txt # 复制项目源代码到容器 COPY ../ /app/ # 创建静态文件目录 RUN mkdir -p /app/files # 暴露应用端口 EXPOSE 9090 # 健康检查 HEALTHCHECK --interval=30s --timeout=10s --start-period=20s --retries=3 \ CMD curl -f http://localhost:9090/ || exit 1 # 启动 FastAPI 应用 CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "9090"]