# DMS合规性测试工具 - FastAPI版本 Dockerfile # 多阶段构建,优化镜像大小 # 第一阶段:构建阶段 FROM python:3.9-alpine AS builder # 安装构建依赖 RUN apk update && \ apk add --no-cache \ gcc \ musl-dev \ linux-headers \ libffi-dev \ openssl-dev \ cargo \ rust && \ rm -rf /var/cache/apk/* # 设置工作目录 WORKDIR /app # 复制requirements并安装Python依赖 COPY requirements_fastapi.txt . RUN pip install --upgrade pip setuptools wheel && \ pip install --no-cache-dir --user -r requirements_fastapi.txt # 第二阶段:运行时镜像 FROM python:3.9-alpine # 安装运行时依赖 RUN apk update && \ apk add --no-cache \ curl \ bash && \ rm -rf /var/cache/apk/* # 从构建阶段复制Python包 COPY --from=builder /root/.local /root/.local # 设置工作目录 WORKDIR /app # 复制应用代码 COPY . . # 创建必要目录 RUN mkdir -p /app/logs /app/test_reports /app/uploads # 设置环境变量 ENV PATH=/root/.local/bin:$PATH ENV PYTHONPATH=/app ENV PYTHONUNBUFFERED=1 # 暴露端口 EXPOSE 5050 # 健康检查 HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \ CMD curl -f http://localhost:5050/ || exit 1 # 启动FastAPI服务器 CMD ["python3", "fastapi_server.py", "--host", "0.0.0.0", "--port", "5050"]