You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker环境中安装wkhtmltopdf失败求助

解决Docker环境中wkhtmltopdf安装失败的问题

问题根源

错误日志明确指出,wkhtmltox包依赖的libjpeg-turbo8、xfonts-75dpi、xfonts-base三个软件包未安装,导致dpkg无法完成包配置。

修正后的Dockerfile

以下是调整后的Dockerfile代码,解决依赖缺失问题同时优化镜像构建流程:

FROM python:3.8.5

...
...

# 安装基础依赖及wkhtmltox所需前置包
RUN apt-get update && apt-get install -y --no-install-recommends \
    apt-utils \
    ghostscript \
    fontforge \
    cabextract \
    wget \
    libjpeg-turbo8 \
    xfonts-75dpi \
    xfonts-base \
    && rm -rf /var/lib/apt/lists/*

# 安装wkhtmltox并清理临时文件
RUN wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.bionic_amd64.deb \
    && dpkg -i wkhtmltox_0.12.6-1.bionic_amd64.deb \
    && apt-get install -f -y \
    && rm wkhtmltox_0.12.6-1.bionic_amd64.deb \
    && rm -rf /var/lib/apt/lists/*

# 安装Vista字体
RUN wget https://gist.github.com/maxwelleite/10774746/raw/ttf-vista-fonts-installer.sh -q -O - | bash

核心调整说明

  • 合并分散的apt-get命令,减少镜像构建层数,同时添加rm -rf /var/lib/apt/lists/*清理apt缓存,缩小镜像体积
  • 提前安装wkhtmltox明确依赖的三个软件包,从根源避免dpkg依赖报错
  • 将deb包的下载、安装、依赖修复及临时文件清理合并为一个RUN命令,确保流程连贯且无冗余文件残留

简化替代方案(无需手动下载deb包)

如果不需要指定0.12.6版本,可直接通过apt仓库安装wkhtmltopdf,步骤更简洁:

FROM python:3.8.5

...
...

RUN apt-get update && apt-get install -y --no-install-recommends \
    wkhtmltopdf \
    ghostscript \
    fontforge \
    cabextract \
    && wget https://gist.github.com/maxwelleite/10774746/raw/ttf-vista-fonts-installer.sh -q -O - | bash \
    && rm -rf /var/lib/apt/lists/*

内容的提问来源于stack exchange,提问作者user2828408

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 14:10:16