| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- # 使用Ubuntu 20.04作为基础镜像,提供更好的兼容性和稳定性
- FROM ubuntu:20.04 AS builder
- # 设置环境变量,避免交互式安装
- ENV DEBIAN_FRONTEND=noninteractive
- # 更新软件包列表并安装必要的依赖
- RUN apt-get update && apt-get install -y \
- wget \
- dpkg \
- libpng16-16 \
- libjpeg-turbo8 \
- libfontconfig1 \
- libfreetype6 \
- libglib2.0-0 \
- libxrender1 \
- libxext6 \
- && rm -rf /var/lib/apt/lists/*
- # 下载并安装pdf2htmlEX
- # 注意:pdf2htmlEX官方仓库已停止维护,这里使用的是已知稳定的版本
- WORKDIR /tmp
- # 下载pdf2htmlEX依赖包和主程序
- RUN wget -q https://github.com/pdf2htmlEX/pdf2htmlEX/releases/download/v0.18.8.rc1/pdf2htmlEX-0.18.8.rc1-master-20200630-Ubuntu-focal-x86_64.deb
- # 安装pdf2htmlEX
- RUN dpkg -i pdf2htmlEX-0.18.8.rc1-master-20200630-Ubuntu-focal-x86_64.deb || apt-get -f install -y
- # 清理临时文件
- RUN rm -rf /tmp/*.deb
- # 第二阶段:创建运行时镜像
- FROM ubuntu:20.04
- # 设置环境变量
- ENV DEBIAN_FRONTEND=noninteractive
- ENV PYTHONUNBUFFERED=1
- # 安装运行时依赖
- RUN apt-get update && apt-get install -y \
- python3 \
- python3-pip \
- libpng16-16 \
- libjpeg-turbo8 \
- libfontconfig1 \
- libfreetype6 \
- libglib2.0-0 \
- libxrender1 \
- libxext6 \
- && rm -rf /var/lib/apt/lists/*
- # 从builder阶段复制pdf2htmlEX
- COPY --from=builder /usr/bin/pdf2htmlEX /usr/bin/pdf2htmlEX
- COPY --from=builder /usr/share/pdf2htmlEX /usr/share/pdf2htmlEX
- # 创建工作目录
- WORKDIR /app
- # 复制Python脚本
- COPY main.py .
- # 设置卷,允许挂载外部目录
- VOLUME [ "/app" ]
- # 设置入口点,允许传递命令行参数
- # 使用ENTRYPOINT + CMD组合,允许用户覆盖默认行为
- ENTRYPOINT [ "python3", "/app/main.py" ]
- # 默认命令(空参数,使用脚本默认值)
- CMD [ ]
|