Docker安装wkhtmltopdf从0.12.4升级至0.12.6文件不存在报错问询
问题根因
- 你下载的0.12.6版本包是源代码压缩包,不是预编译完成的可执行二进制包,解压后的目录中不存在已经编译好的
wkhtmltopdf、wkhtmltoimage可执行文件,因此cp命令找不到对应路径触发报错。 - 原有0.12.4版本下载的是官方编译好的发布包,自带bin目录下的可执行文件,所以可以正常运行。
修复方案
直接替换为官方预编译的0.12.6版本二进制包即可,同时建议提前安装运行依赖避免后续执行二进制文件报错,参考代码如下:
FROM php:7.3.31-apache ... # 安装运行依赖 RUN apt-get update && apt-get install -y --no-install-recommends \ libxrender1 \ libfontconfig1 \ libxext6 \ && rm -rf /var/lib/apt/lists/* # 下载0.12.6预编译二进制包 RUN wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.6/wkhtmltox-0.12.6_linux-generic-amd64.tar.xz --no-check-certificate RUN tar -xJf wkhtmltox-0.12.6_linux-generic-amd64.tar.xz RUN cp wkhtmltox/bin/wkhtmltopdf /usr/local/bin/wkhtmltopdf RUN cp wkhtmltox/bin/wkhtmltoimage /usr/local/bin/wkhtmltoimage # 清理安装文件 RUN rm -rf wkhtmltox wkhtmltox-0.12.6_linux-generic-amd64.tar.xz RUN touch .wkhtmltopdf ...
内容的提问来源于stack exchange,提问作者Tom
相关产品推荐
相关产品推荐

