首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在docker文件中安装wkhtmltopdf (未修补的qt)?

如何在docker文件中安装wkhtmltopdf (未修补的qt)?
EN

Stack Overflow用户
提问于 2020-04-13 21:07:35
回答 1查看 1.4K关注 0票数 0

我已经安装了wkhtmltopdf(patched qt)0.12.4,它在使用pdfkit时出现错误。我想安装未打补丁的qt版本,因为在我的本地设置中不会出现错误

我的dockerfile:

代码语言:javascript
复制
FROM python:3
RUN apt-get update
RUN apt-get install -y openssl build-essential libssl-dev libxrender-dev git-core libx11-dev libxext-dev libfontconfig1-dev libfreetype6-dev fontconfig libfontconfig1 libxrender1
RUN curl -L#o wk.tar.xz https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/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
WORKDIR /app/
COPY . /app
COPY requirements.txt /app

RUN pip install -r requirements.txt


EXPOSE 5000

我的docker撰写文件:

代码语言:javascript
复制
version: "3.7"

volumes:
   db_data:

services:
   db:
    image: mysql:5.7.29
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
       MYSQL_ROOT_PASSWORD: root
       MYSQL_USER: root
       MYSQL_PASSWORD: root
       MYSQL_DATABASE: mycamdata
    volumes:
       - db_data:/var/lib/mysql
    ports:
       - "3306:3306"

   adminer:
      image: adminer
      restart: always
      ports:
        - 8080:8080

   app:
      build: .
      command: python run.py --host=0.0.0.0 --port=5000
      volumes:
         - .:/app
      ports:
         - 5000:5000
      depends_on:
         - db

当我尝试创建pdf时,我得到了这个错误:我认为这个错误是因为wkhtmltopdf(patched qt)版本与pdfkit不兼容。我想安装未打补丁的qt版本

OSError: wkhtmltopdf报告错误:正在加载页面(1/6) >0%======>10%QSslSocket:无法解析CRYPTO_num_locks QSslSocket:无法解析CRYPTO_set_id_callback QSslSocket:无法解析CRYPTO_set_locking_callback QSslSocket:无法解析sk_free QSslSocket:无法解析sk_numQSslSocket:无法解析sk_pop_free QSslSocket:无法解析sk_value QSslSocket:无法解析SSL_library_init QSslSocket:无法解析SSL_load_error_strings QSslSocket:无法解析SSLv3_client_method QSslSocket:无法解析SSLv23_client_method QSslSocket:无法解析SSLv3_server_method QSslSocket:无法解析SSLv23_server_method QSslSocket:无法解析X509_STORE_CTX_get_chain QSslSocket:无法解析:无法调用未解析函数CRYPTO_num_locks QSslSocket:无法调用未解析函数CRYPTO_set_id_callback QSslSocket:无法调用未解析函数CRYPTO_set_locking_callback QSslSocket:无法调用未解析函数SSL_library_init QSslSocket:无法调用未解析函数SSLv23_client_method QSslSocket:无法调用未解析函数sk_num ======================> 38%===========================>45%QSslSocket:无法调用未解析函数SSLv23_client_method QSslSocket:无法调用未解析函数============================================================ SSL_library_init QSslSocket:无法调用未解析的函数SSL_library_init QSslSocket:无法调用未解析的函数SSLv23_client_method QSslSocket:无法调用未解析的函数SSL_library_init QSslSocket:无法调用未解析的函数SSLv23_client_method QSslSocket:无法调用未解析的函数SSL_library_init function 100%计数页(2/6)

============================================================对象1解析链接(4/6)

正在加载页眉和页脚的============================================================对象1(共1个) (5/6)

打印页面(6/6) >准备============================================================第1页(共1页)完成

由于网络错误,退出时返回代码1: UnknownNetworkError QSslSocket:无法调用未解析的函数CRYPTO_num_locks QSslSocket:无法调用未解析的函数CRYPTO_set_id_callback QSslSocket:无法调用未解析的函数CRYPTO_set_locking_callback

代码语言:javascript
复制
EN

回答 1

Stack Overflow用户

发布于 2021-06-30 21:36:44

我通过将以下几行添加到基于Debian Buster镜像的dockerfile (wkhtmlto*版本0.12.6-1,2021年6月)解决了这个问题。

代码语言:javascript
复制
RUN apt-get update -qq && apt-get install -y \
    # packages required by wkhtmlto*:
    xfonts-base \
    xfonts-75dpi \
    pdftk # -> only if needed... \
    # ...other custom packages...

RUN curl -L#o wkhtmltopdf.deb https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.buster_amd64.deb
RUN dpkg -i wkhtmltopdf.deb; apt-get install -y -f

# Remember to clean your package manager cache to reduce your custom image size...
RUN apt-get clean all \
    && rm -rvf /var/lib/apt/lists/*

你可以在这里找到相同包的其他版本:https://github.com/wkhtmltopdf/packaging/releases/0.12.6-1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61188580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档