如何安装和运行 wkhtmltopdf Docker 镜像

Vin*_*ond 6 wkhtmltopdf docker spring-boot dockerfile

我想安装和运行wkhtmltopdfDockerfileSpring-Boot应用程序时,我将建立并运行Spring-boot应用程序。我已经编写了以下给定的脚本Dockerfile来安装wkhtmltopdf

FROM debian:jessie

RUN apt-get update \
    && apt-get install -y \
        curl \
        libxrender1 \
        libfontconfig \
        libxtst6 \
        xz-utils

RUN curl "https://downloads.wkhtmltopdf.org/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz" -L -o "wkhtmltopdf.tar.xz"
RUN tar Jxvf wkhtmltopdf.tar.xz
RUN mv wkhtmltox/bin/wkhtmltopdf /usr/local/bin/wkhtmltopdf

ENTRYPOINT ["wkhtmltopdf"]

Run Code Online (Sandbox Code Playgroud)

上面的脚本创建了一个 docker 图像,但是如何运行这些图像来测试wkhtmltopdf是否正常工作?或者,我们必须安装和运行任何其他办法wkhtmltopdfDockerfile

小智 13

也许这个解决方案会有所帮助。Wkhtmltopdf 将安装到 /usr/bin/wkhtmltopdf

RUN apt-get update \
    && apt-get install -y \
    ...
    wkhtmltopdf \
    ...
Run Code Online (Sandbox Code Playgroud)


Vin*_*ond 12

另一个简单的答案:

# Create image based on the official openjdk 8-jre-alpine image from the dockerhub
FROM openjdk:8-jre-alpine

# Install wkhtmltopdf
RUN apk add --no-cache wkhtmltopdf

ENTRYPOINT ["wkhtmltopdf"]
Run Code Online (Sandbox Code Playgroud)

  • 这为我解决了这个问题!它将`wkhtmltopdf`安装到`/usr/local/bin/wkhtmltopdf`。您可以通过“sh”进入 Docker 容器并运行“wkhtmltopdf --version”来检查它是否已正确安装。 (3认同)

Vin*_*ond 6

# (Multi stage Docker can be considered. The appropriate Gradle cache use remains to be solved)

# Create image based on the official openjdk 11-jre-slim image from the dockerhub
FROM debian:jessie

ENV DIR=/usr/local/bin/

# Change directory so that our commands run inside this new directory
WORKDIR $DIR

ENV WKHTML_VERSION 0.12.4

# Builds the wkhtmltopdf download URL based on version number above
ENV DOWNLOAD_URL "https://downloads.wkhtmltopdf.org/0.12/${WKHTML_VERSION}/wkhtmltox-${WKHTML_VERSION}_linux-generic-amd64.tar.xz" -L -o "wkhtmltopdf.tar.xz"

# Install dependencies
RUN apt-get update && apt-get install -y \
    curl libxrender1 libfontconfig libxtst6 xz-utils

# Download and extract wkhtmltopdf
RUN curl $DOWNLOAD_URL
RUN tar Jxvf wkhtmltopdf.tar.xz
RUN cp wkhtmltox/bin/wkhtmltopdf $DIR

ENTRYPOINT ["wkhtmltopdf"]
Run Code Online (Sandbox Code Playgroud)