如何在 Docker 容器中运行 pdfkit from_file

Kus*_*tel 2 pdfkit python-3.x

以下是我的 Docker 代码:

FROM python:3.6.2-jessie

## Prepare apt-get:
RUN echo "debconf debconf/frontend select Noninteractive" | debconf-set-selections && \
    apt-get update -qy && \
     apt-get upgrade -qy && \
    apt-get clean autoclean && \
    apt-get install wkhtmltopdf -y && \
    apt-get autoremove -y && \
    apt-get install python3-setuptools -qy &&\
    apt-get install python3-dev -qy && \
    apt-get install python3-pip -qy && \
    apt-get install build-essential -qy && \
    apt-get -y install openssh-client -qy && \
    apt-get clean

RUN pip3 install --upgrade pip
RUN pip3 install pandas
RUN pip3 install psycopg2==2.7.3.2
RUN pip3 install pdfkit
Run Code Online (Sandbox Code Playgroud)

当我运行以下代码时,

docker run my_image python3 pdfkit.py
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

OSError: wkhtmltopdf 以非零代码 -6 退出。错误:开关--viewport-size,不支持使用未修补的qt,将被忽略。开关--disable-smart-shrinking,不支持使用未修补的qt,将被忽略。QXcbConnection:无法连接到展示

Kus*_*tel 5

请尝试以下操作:

RUN curl -L#o wk.tar.xz https://downloads.wkhtmltopdf.org/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz \
    && tar xf wk.tar.xz \
    && cp wkhtmltox/bin/wkhtmltopdf /usr/bin \
    && cp wkhtmltox/bin/wkhtmltoimage /usr/bin \
    && rm wk.tar.xz \
    && rm -r wkhtmltox
Run Code Online (Sandbox Code Playgroud)

而不是直接使用apt-get install wkhtmltopdf -y.