Alpine系统安装wkhtmltopdf方法以及问题解决

安装方法

截止2019.08

wkhtmltopdf 还没有 alpine 的版本  如需使用  需要在 alpine 环境中编译 生成 wkhtmltopdf  (使用 apk add wkhtmltopdf  运行报错)

编辑可参考  https://github.com/ElfoLiNk/alpine-java-wkhtmltopdf

也可以从 elfolink/alpine-java-wkhtmltopdf 镜像中将生成好的 wkhtmltopdf 拷贝出来  放入自己的dockerfile中进行使用

wkhtmltopdf版本为 0.12.5-dev

https://github.com/fqybzhangji/alpine-wkhtmltopdf  

 

FROM alpine

# 安装运行环境
RUN apk add libgcc libstdc++ libx11 glib libxrender libxext libintl libcrypto1.0 libssl1.0 ttf-freefont fontconfig
# wkhtmltopdf
COPY wkhtmltox /bin/
RUN chmod +x /bin/wkhtmltopdf

# 安装字体
RUN mkdir -p /usr/share/fonts/chinese/TrueType/
RUN cp simsun.ttc /usr/share/fonts/chinese/TrueType/
RUN cp simsun.ttf /usr/share/fonts/chinese/TrueType/

# 其他操作

问题

 描述: libcrypto1.0 libssl1.0 安装时候提示missing缺失:

 原因: 在apline镜像版本3.9之后被移除,改为libcrypto1.1 libssl1.1

 解决方案:  从其他仓库中拉取

apk add libssl1.0 --update-cache --repository http://mirrors.ustc.edu.cn/alpine/v3.8/main/ --allow-untrusted && \

  libcrypto1.0 会随着libssl1.0的安装而安装

 备注:wkhtmltopdf使用的时候会自动检索1.0版本的libssl, 安装其他版本调用wkhtmltopdf的时候会报错, 报错信息如下:

OSError: wkhtmltopdf reported an error:
Error loading shared library libssl.so.1.0.0: No such file or directory (needed by /bin/wkhtmltopdf)
Error loading shared library libcrypto.so.1.0.0: No such file or directory (needed by /bin/wkhtmltopdf)
Error relocating /bin/wkhtmltopdf: X509_STORE_CTX_get_chain: symbol not found
Error relocating /bin/wkhtmltopdf: EVP_PKEY_set1_DSA: symbol not found
Error relocating /bin/wkhtmltopdf: SSLeay: symbol not found
Error relocating /bin/wkhtmltopdf: ASN1_STRING_length: symbol not found
Error relocating /bin/wkhtmltopdf: BIO_read: symbol not found
Error relocating /bin/wkhtmltopdf: X509_get_issuer_name: symbol not found
Error relocating /bin/wkhtmltopdf: SSL_get_current_cipher: symbol not found
Error relocating /bin/wkhtmltopdf: SSL_get_verify_result: symbol not found
Error relocating /bin/wkhtmltopdf: BIO_ctrl: symbol not found
Error relocating /bin/wkhtmltopdf: OPENSSL_add_all_algorithms_conf: symbol not found
Error relocating /bin/wkhtmltopdf: SSL_CTX_use_PrivateKey: symbol not found
Error relocating /bin/wkhtmltopdf: X509_get_ext: symbol not found
Error relocating /bin/wkhtmltopdf: X509_NAME_ENTRY_get_data: symbol not found
Error relocating /bin/wkhtmltopdf: SSL_CTX_ctrl: symbol not found
Error relocating /bin/wkhtmltopdf: X509_STORE_CTX_new: symbol not found
Error relocating /bin/wkhtmltopdf: ASN1_INTEGER_get: symbol not found
Error relocating /bin/wkhtmltopdf: X509_cmp: symbol not found
Error relocating /bin/wkhtmltopdf: SSL_CTX_set_cipher_list: symbol not found
Error relocating /bin/wkhtmltopdf: SSL_CTX_load_verify_locations: symbol not found
Error relocating /bin/wkhtmltopdf: SSL_CTX_use_RSAPrivateKey: symbol not found
Error relocating /bin/wkhtmltopdf: sk_pop_free: symbol not found
Error relocating /bin/wkhtmltopdf: SSL_CTX_use_certificate: symbol not found
Error relocating /bin/wkhtmltopdf: X509_STORE_CTX_get_error: symbol not found
Error relocating /bin/wkhtmltopdf: SSLv23_client_method: symbol not found
Error relocating /bin/wkhtmltopdf: SSL_read: symbol not found
Error relocating /bin/wkhtmltopdf: X509_NAME_entry_count: symbol not found
Error relocating /bin/wkhtmltopdf: EVP_PKEY_new: symbol not found
Error relocating /bin/wkhtmltopdf: EVP_PKEY_assign: symbol not found
Error relocating /bin/wkhtmltopdf: PEM_write_bio_DSA_PUBKEY: symbol not found
Error relocating /bin/wkhtmltopdf: SSL_load_error_strings: symbol not found
Error relocating /bin/wkhtmltopdf: RAND_status: symbol not found
Error relocating /bin/wkhtmltopdf: SSL_connect: symbol not found
Error relocating /bin/wkhtmltopdf: SSLv3_server_method: symbol not found
Error relocating /bin/wkhtmltopdf: EVP_PKEY_get1_DSA: symbol not found
Error relocating /bin/wkhtmltopdf: X509_get_subject_name: symbol not found
Error relocating /bin/wkhtmltopdf: TLSv1_server_method: symbol not found
Error relocating /bin/wkhtmltopdf: X509_STORE_new: symbol not found
.......

 

你可能感兴趣的:(Docker)