Spaces:
Sleeping
Sleeping
File size: 3,075 Bytes
f50282c 9f135c4 f50282c 9f135c4 f50282c 9f135c4 189031e f50282c 189031e f50282c 1ad3bdb 76ad732 f50282c 76ad732 1ad3bdb 76ad732 f50282c 1ad3bdb 76ad732 f50282c 189031e b894424 76ad732 9f135c4 f50282c 189031e f7fc619 f50282c 1ad3bdb | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | # 使用 ghcr.io/awwaawwa/pdfmathtranslate:dev 作为基础镜像
# 这个镜像应该已经包含了 pdf2zh 及其运行环境
FROM ghcr.io/awwaawwa/pdfmathtranslate:dev
# 设置工作目录,如果基础镜像没有设置或者你需要特定的工作目录
# 如果基础镜像已经设置了合适的工作目录,这行可能不需要
WORKDIR /app
# 设置环境变量 PYTHONUNBUFFERED=1
# 这对于在 Docker 中运行 Python 应用通常是个好习惯,可以确保日志直接输出
# 基础镜像可能已经设置了此环境变量
ENV PYTHONUNBUFFERED=1
# 切换到 root 用户,确保后续指令和容器运行时具有最高权限
# 这有助于避免在容器内部发生文件权限问题
USER root
# 创建必要的目录并设置权限
# 如果这些目录是用于挂载卷或者运行时数据,并且基础镜像没有创建它们,那么这些指令可能仍然需要。
# 注意:chmod -R 777 给予了非常宽松的权限。虽然以 root 用户运行可以解决进程本身的访问问题,
# 但这种权限设置在生产环境中需要谨慎评估,因为它允许任何用户对这些目录进行读、写、执行操作。
# 原 Dockerfile 中的 `./gradio_files` 是相对于 WORKDIR (/app) 的,所以这里是 /app/gradio_files。
# 新增 /app/pdf2zh_files 目录创建和权限设置
RUN mkdir -p /data \
&& mkdir -p /.cache \
&& mkdir -p /app/gradio_files \
&& mkdir -p /.config/PDFMathTranslate \
&& mkdir -p /app/pdf2zh_files \
&& chmod -R 777 /data \
&& chmod -R 777 /.cache \
&& chmod -R 777 /app/gradio_files \
&& chmod -R 777 /.config \
&& chmod -R 777 /app/pdf2zh_files
# 创建配置文件并添加基本配置
# 如果你需要覆盖基础镜像中的默认配置,或者基础镜像需要这个配置文件,那么这个步骤是必要的。
# 请确保 /.config/PDFMathTranslate/config.json 这个路径对于基础镜像来说是正确的。
# chmod 666 允许所有用户读写该文件。
RUN echo '{"USE_MODELSCOPE": "0", "MODEL_CACHE_DIR": "/.cache"}' > /.config/PDFMathTranslate/config.json \
&& chmod 666 /.config/PDFMathTranslate/config.json
# 设置默认的容器启动命令
# 基础镜像 ghcr.io/awwaawwa/pdfmathtranslate:dev 可能已经有自己的 CMD 或 ENTRYPOINT。
# 如果你想覆盖它,或者确保执行这个特定的命令,可以保留这行。
# 由于上面设置了 USER root,此命令将以 root 用户身份执行。
#CMD ["pdf2zh", "-i"]
# --- 以下是原 Dockerfile 中的一些指令,在使用新的基础镜像后,它们很可能不再需要 ---
#
# # 系统依赖
# RUN apt-get update && apt-get install -y libgl1 \
# && rm -rf /var/lib/apt/lists/*
# # 解释:系统依赖 libgl1 应该已经包含在基础镜像 ghcr.io/awwaawwa/pdfmathtranslate:dev 中(如果它需要的话)。
#
# # 安装最新版本的 pdf2zh
# RUN pip install --no-cache-dir pdf2zh==1.9.5
# # 解释:pdf2zh 工具本身就是基础镜像 ghcr.io/awwaawwa/pdfmathtranslate:dev 提供的核心功能,所以不需要再安装。
#
|