Răsfoiți Sursa

Merge branch 'dev_sgsc_wxm' of CRBC-MaaS-Platform-Project/LQAgentPlatform into dev

WangXuMing 5 zile în urmă
părinte
comite
0c2db7e5b4
1 a modificat fișierele cu 11 adăugiri și 7 ștergeri
  1. 11 7
      Dockerfile

+ 11 - 7
Dockerfile

@@ -1,3 +1,4 @@
+# syntax=docker/dockerfile:1
 FROM python:3.12-slim
 
 # 替换为阿里云 apt 源(Debian 12 使用 DEB822 格式)
@@ -5,7 +6,10 @@ RUN sed -i 's|deb.debian.org|mirrors.aliyun.com|g' /etc/apt/sources.list.d/debia
     sed -i 's|security.debian.org|mirrors.aliyun.com|g' /etc/apt/sources.list.d/debian.sources
 
 # 安装 OpenCV 系统依赖及 LibreOffice(docx/doc 转 PDF)
-RUN apt-get update && apt-get install -y \
+# 使用 cache mount 缓存 apt 包,避免每次重新下载
+RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
+    --mount=type=cache,target=/var/lib/apt,sharing=locked \
+    apt-get update && apt-get install -y \
     # OpenCV 核心依赖
     libgl1 \
     libglib2.0-0 \
@@ -35,8 +39,7 @@ RUN apt-get update && apt-get install -y \
     libreoffice-core \
     # 中文字体(PDF 转换中文支持)
     fonts-wqy-zenhei \
-    --no-install-recommends \
-    && rm -rf /var/lib/apt/lists/*
+    --no-install-recommends
 
 ENV DEBIAN_FRONTEND=noninteractive \
     TZ=Asia/Shanghai
@@ -49,10 +52,11 @@ 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
+# 使用 cache mount 缓存 pip 包,避免大依赖(torch/scipy 等)每次重新下载
+RUN --mount=type=cache,target=/root/.cache/pip,sharing=locked \
+    /venv/bin/pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple \
+    && /venv/bin/pip config set install.trusted-host pypi.tuna.tsinghua.edu.cn \
+    && /venv/bin/pip --default-timeout=1800 install -r /tmp/requirements.txt
 
 # 设置工作目录并复制项目文件
 WORKDIR /app