How to install and run wkhtmltopdf Docker image

10,135

Solution 1

Another simple answer:

# 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"]

Solution 2

Perhaps this solution will help. Wkhtmltopdf will be install to /usr/bin/wkhtmltopdf

RUN apt-get update \
    && apt-get install -y \
    ...
    wkhtmltopdf \
    ...

Solution 3

# (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"]
Share:
10,135
Vinaykumar Devarkond
Author by

Vinaykumar Devarkond

Updated on June 06, 2022

Comments

  • Vinaykumar Devarkond
    Vinaykumar Devarkond almost 2 years

    I want to install and run wkhtmltopdf from Dockerfile of Spring-Boot application when I will build and run the Spring-boot application. I have written the below given scripts in Dockerfile to install 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"]
    
    

    The above scripts created a docker images, but how to run those images to test wkhtmltopdf is working or not? Or Any other approach we have to install & run wkhtmltopdf from Dockerfile?