add single page
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
# 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"]
|
||||
Reference in New Issue
Block a user