Spaces:
Sleeping
Sleeping
Update Dockerfile
Browse files- Dockerfile +36 -16
Dockerfile
CHANGED
|
@@ -1,31 +1,51 @@
|
|
| 1 |
-
|
|
|
|
|
|
|
| 2 |
|
|
|
|
|
|
|
| 3 |
WORKDIR /app
|
| 4 |
|
|
|
|
|
|
|
|
|
|
| 5 |
ENV PYTHONUNBUFFERED=1
|
| 6 |
|
| 7 |
-
#
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
#
|
| 12 |
-
#
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
# Create necessary directories and set permissions
|
| 16 |
RUN mkdir -p /data \
|
| 17 |
-
&& mkdir -p /app \
|
| 18 |
&& mkdir -p /.cache \
|
| 19 |
-
&& mkdir -p
|
| 20 |
&& mkdir -p /.config/PDFMathTranslate \
|
| 21 |
&& chmod -R 777 /data \
|
| 22 |
-
&& chmod -R 777 /app \
|
| 23 |
&& chmod -R 777 /.cache \
|
| 24 |
-
&& chmod -R 777
|
| 25 |
&& chmod -R 777 /.config
|
| 26 |
|
| 27 |
-
#
|
|
|
|
|
|
|
| 28 |
RUN echo '{"USE_MODELSCOPE": "0", "MODEL_CACHE_DIR": "/.cache"}' > /.config/PDFMathTranslate/config.json \
|
| 29 |
&& chmod 666 /.config/PDFMathTranslate/config.json
|
| 30 |
|
| 31 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# 使用 ghcr.io/awwaawwa/pdfmathtranslate:dev 作为基础镜像
|
| 2 |
+
# 这个镜像应该已经包含了 pdf2zh 及其运行环境
|
| 3 |
+
FROM ghcr.io/awwaawwa/pdfmathtranslate:dev
|
| 4 |
|
| 5 |
+
# 设置工作目录,如果基础镜像没有设置或者你需要特定的工作目录
|
| 6 |
+
# 如果基础镜像已经设置了合适的工作目录,这行可能不需要
|
| 7 |
WORKDIR /app
|
| 8 |
|
| 9 |
+
# 设置环境变量 PYTHONUNBUFFERED=1
|
| 10 |
+
# 这对于在 Docker 中运行 Python 应用通常是个好习惯,可以确保日志直接输出
|
| 11 |
+
# 基础镜像可能已经设置了此环境变量
|
| 12 |
ENV PYTHONUNBUFFERED=1
|
| 13 |
|
| 14 |
+
# 创建必要的目录并设置权限
|
| 15 |
+
# 如果这些目录是用于挂载卷或者运行时数据,并且基础镜像没有创建它们,那么这些指令可能仍然需要。
|
| 16 |
+
# 注意:chmod -R 777 给予了非常宽松的权限,请谨慎使用,并考虑是否确实需要如此广泛的权限。
|
| 17 |
+
# 原 Dockerfile 中的 `./gradio_files` 是相对于 WORKDIR (/app) 的,所以这里是 /app/gradio_files。
|
| 18 |
+
# 原 Dockerfile 中的 `mkdir -p /app` 和 `chmod -R 777 /app` 已被移除,
|
| 19 |
+
# 因为 `WORKDIR /app` 通常会创建 /app 目录,且直接修改 /app 权限需谨慎。
|
| 20 |
+
# 如果您确实需要为 /app 目录设置特定权限,可以单独添加 `RUN chmod -R 777 /app`,但请评估其必要性。
|
|
|
|
|
|
|
| 21 |
RUN mkdir -p /data \
|
|
|
|
| 22 |
&& mkdir -p /.cache \
|
| 23 |
+
&& mkdir -p /app/gradio_files \
|
| 24 |
&& mkdir -p /.config/PDFMathTranslate \
|
| 25 |
&& chmod -R 777 /data \
|
|
|
|
| 26 |
&& chmod -R 777 /.cache \
|
| 27 |
+
&& chmod -R 777 /app/gradio_files \
|
| 28 |
&& chmod -R 777 /.config
|
| 29 |
|
| 30 |
+
# 创建配置文件并添加基本配置
|
| 31 |
+
# 如果你需要覆盖基础镜像中的默认配置,或者基础镜像需要这个配置文件,那么这个步骤是必要的。
|
| 32 |
+
# 请确保 /.config/PDFMathTranslate/config.json 这个路径对于基础镜像来说是正确的。
|
| 33 |
RUN echo '{"USE_MODELSCOPE": "0", "MODEL_CACHE_DIR": "/.cache"}' > /.config/PDFMathTranslate/config.json \
|
| 34 |
&& chmod 666 /.config/PDFMathTranslate/config.json
|
| 35 |
|
| 36 |
+
# 设置默认的容器启动命令
|
| 37 |
+
# 基础镜像 ghcr.io/awwaawwa/pdfmathtranslate:dev 可能已经有自己的 CMD 或 ENTRYPOINT。
|
| 38 |
+
# 如果你想覆盖它,或者确保执行这个特定的命令,可以保留这行。
|
| 39 |
+
CMD ["pdf2zh", "-i"]
|
| 40 |
+
|
| 41 |
+
# --- 以下是原 Dockerfile 中的一些指令,在使用新的基础镜像后,它们很可能不再需要 ---
|
| 42 |
+
#
|
| 43 |
+
# # 系统依赖
|
| 44 |
+
# RUN apt-get update && apt-get install -y libgl1 \
|
| 45 |
+
# && rm -rf /var/lib/apt/lists/*
|
| 46 |
+
# # 解释:系统依赖 libgl1 应该已经包含在基础镜像 ghcr.io/awwaawwa/pdfmathtranslate:dev 中(如果它需要的话)。
|
| 47 |
+
#
|
| 48 |
+
# # 安装最新版本的 pdf2zh
|
| 49 |
+
# RUN pip install --no-cache-dir pdf2zh==1.9.5
|
| 50 |
+
# # 解释:pdf2zh 工具本身就是基础镜像 ghcr.io/awwaawwa/pdfmathtranslate:dev 提供的核心功能,所以不需要再安装。
|
| 51 |
+
#
|