|
|
@@ -22,9 +22,14 @@ ENV HTTP_PROXY=${HTTP_PROXY} \
|
|
|
NO_PROXY=${NO_PROXY} \
|
|
|
no_proxy=${no_proxy}
|
|
|
|
|
|
-# 替换为阿里云 apt 源(Debian 12 使用 DEB822 格式)
|
|
|
-RUN sed -i 's|deb.debian.org|mirrors.aliyun.com|g' /etc/apt/sources.list.d/debian.sources && \
|
|
|
- sed -i 's|security.debian.org|mirrors.aliyun.com|g' /etc/apt/sources.list.d/debian.sources
|
|
|
+# 有代理时使用官方源,无代理时切换为国内镜像源
|
|
|
+RUN if [ -z "$HTTP_PROXY" ]; then \
|
|
|
+ echo "[INFO] 无代理,使用阿里云 apt 镜像源" && \
|
|
|
+ sed -i 's|deb.debian.org|mirrors.aliyun.com|g' /etc/apt/sources.list.d/debian.sources && \
|
|
|
+ sed -i 's|security.debian.org|mirrors.aliyun.com|g' /etc/apt/sources.list.d/debian.sources; \
|
|
|
+ else \
|
|
|
+ echo "[INFO] 检测到代理配置,使用官方 Debian 源"; \
|
|
|
+ fi
|
|
|
|
|
|
# 安装 OpenCV 系统依赖及 LibreOffice(docx/doc 转 PDF)
|
|
|
# cache mount 避免每次重新下载 deb 包
|
|
|
@@ -70,9 +75,15 @@ RUN chmod 777 /tmp \
|
|
|
&& python -m venv /venv
|
|
|
ENV PATH="/venv/bin:$PATH"
|
|
|
|
|
|
-# 安装 Python 依赖(cache mount 缓存 pip 下载,requirements.txt 不变时仅首次下载)
|
|
|
+# 安装 Python 依赖(cache mount 缓存 pip 下载)
|
|
|
+# 有代理时使用官方 PyPI,无代理时切换为清华镜像源
|
|
|
COPY requirements.txt /tmp/
|
|
|
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
|
|
|
+ if [ -z "$HTTP_PROXY" ]; then \
|
|
|
+ echo "[INFO] 无代理,使用清华 PyPI 镜像源" && \
|
|
|
+ /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; \
|
|
|
+ else \
|
|
|
+ echo "[INFO] 检测到代理配置,使用官方 PyPI 源"; \
|
|
|
+ fi && \
|
|
|
+ /venv/bin/pip --default-timeout=1800 install -r /tmp/requirements.txt
|