wkhtmltopdf 与 php:8-fpm-alpine

one*_*ee4 8 php wkhtmltopdf docker phpwkhtmltopdf

我有一个现有的 php:8-fpm-alpine Dockerfile,我需要添加 WKHTMLTOPDF 包。这可能吗?我尝试使用以下 dockerfile,但收到以下错误日志:

Docker 文件...

FROM php:8-fpm-alpine
...
RUN apk add xvfb libfontconfig wkhtmltopdf

Run Code Online (Sandbox Code Playgroud)

错误:

ERROR [ 8/13] RUN apk add --no-cache wkhtmltopdf                                                                                                   2.1s

[ 8/13] RUN apk add --no-cache wkhtmltopdf:
#12 0.567 fetch https://dl-cdn.alpinelinux.org/alpine/v3.15/main/x86_64/APKINDEX.tar.gz
#12 1.097 fetch https://dl-cdn.alpinelinux.org/alpine/v3.15/community/x86_64/APKINDEX.tar.gz
#12 2.001 ERROR: unable to select packages:
#12 2.034   wkhtmltopdf (no such package):
#12 2.034     required by: world[wkhtmltopdf]

executor failed running [/bin/sh -c apk add --no-cache wkhtmltopdf]: exit code: 1
ERROR: Service 'php' failed to build : Build failed
Run Code Online (Sandbox Code Playgroud)

我尝试包含以下存储库中的内容,但我认为对于 1 个包来说工作量太大,并且它在构建过程中中断: https ://github.com/alloylab/Docker-Alpine-wkhtmltopdf

任何帮助,将不胜感激。

Den*_*est 12

我在尝试更新时遇到了同样的问题php:8.1.9-fpm-alpine3.16

为了使其正常工作,我添加了 wkhtmltopdf 社区 3.14 存储库的链接。事实证明它也有一些来自主存储库的依赖项:

ERROR: unable to select packages:
  so:libicui18n.so.67 (no such package):
    required by: qt5-qtwebkit-5.212.0_alpha4-r14[so:libicui18n.so.67]
  so:libicuuc.so.67 (no such package):
    required by: qt5-qtwebkit-5.212.0_alpha4-r14[so:libicuuc.so.67]
Run Code Online (Sandbox Code Playgroud)

所以你还需要添加它

# Install packages not yet updated for the current alpine version TODO remove when no longer needed
RUN echo 'https://dl-cdn.alpinelinux.org/alpine/v3.14/community' >> /etc/apk/repositories
RUN echo 'https://dl-cdn.alpinelinux.org/alpine/v3.14/main' >> /etc/apk/repositories
RUN apk add --no-cache wkhtmltopdf
Run Code Online (Sandbox Code Playgroud)


小智 8

我在图像方面遇到了类似的问题php:7.4-fpm-alpine

它似乎wkhtmltopdf在 Alpine v.3.15 中缺失,但在 v.3.14 中可用。

尝试改变

FROM php:8-fpm-alpine
Run Code Online (Sandbox Code Playgroud)

FROM php:8-fpm-alpine3.14
Run Code Online (Sandbox Code Playgroud)