| 1234567891011121314151617181920212223242526272829303132333435 |
- FROM python:3.12-slim
- ENV DEBIAN_FRONTEND=noninteractive \
- TZ=Asia/Shanghai \
- APP_ENV=prod
- # 安装系统依赖
- RUN apt-get update \
- && apt-get install -y --no-install-recommends \
- tzdata \
- && apt-get clean \
- && rm -rf /var/lib/apt/lists/* \
- && python -m venv /venv
- ENV PATH="/venv/bin:$PATH"
- # 先复制 requirements 文件安装依赖(利用缓存)
- COPY requirements.txt /tmp/
- RUN /venv/bin/pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple \
- && /venv/bin/pip config set install.trusted-host mirrors.aliyun.com \
- && /venv/bin/pip --default-timeout=1800 install -r /tmp/requirements.txt \
- && rm -rf /root/.cache
- # 设置工作目录并复制项目文件
- WORKDIR /app
- COPY . /app/standards_service/
- RUN mkdir -p /app/standards_service/logs
- ENV PYTHONPATH=/app/standards_service
- EXPOSE 8107
- # 使用虚拟环境运行
- CMD ["/venv/bin/uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8107"]
|