Как я могу установить wkhtmltopdf (unpatched qt) в файл docker? - PullRequest
0 голосов
/ 13 апреля 2020

Я установил wkhtmltopdf (patched qt) 0.12.4, который выдает ошибку при использовании с pdfkit. Я хочу установить непатченную версию qt, так как она не выдает ошибку в моем локальном наборе

мой dockerfile:

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 составить файл:

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_num QSslSocket: не может решить 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: не может решить OPENSSL_add_all_algorithms_noconf QSslSocket: не может решить OPENSSL_add_all_algorithms_conf QSslSocket: не может решить SSLeay QSslSocket: не может вызвать нерешенным функцию CRYPTO_num_locks QSslSocket: может не кал l неразрешенная функция CRYPTO_set_id_callback QSslSocket: не может вызвать неразрешенную функцию CRYPTO_set_locking_callback QSslSocket: не может вызвать неразрешенную функцию SSL_library_init QSslSocket: не может вызвать неразрешенную функцию =====>] 38% [=================================>] 45% QSslSocket: невозможно вызвать неразрешенную функцию SSLv23_client_method QSslSocket: не могу вызвать нерешенную функцию SSL_library_init QSslSocket: не может вызвать нерешенную функцию SSLv23_client_method QSslSocket: не может вызвать нерешенную функцию SSL_library_init QSslSocket: не может вызвать нерешенную функцию SSLv23_client_method QSslSocket: не может вызвать нерешенную функцию SSL_library_init QSslSocket: не может вызвать нерешенную функцию SSLv23_client_method QSslSocket: не может вызвать неразрешенный функцию SSL_library_init [== ================================================== ========] 100% подсчета страниц (2/6)
[================================== =========== =====================] Объект 1 из 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

* 1016
...