FROM python:3.12-slim ENV DEBIAN_FRONTEND=noninteractive \ TZ=Asia/Shanghai \ APP_ENV=dev # 安装系统依赖 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"]