docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > 解决Docker镜像缺少字体问题

如何解决Docker镜像缺少字体的问题

作者:淋雨一直走啊

在使用Spire.Office.Free将Excel转换为HTML时,遇到字体缺失错误,通过在Dockerfile中添加字体文件,成功解决了问题,建议在遇到类似问题时,可以尝试在Dockerfile中添加缺失的字体文件

Docker镜像缺少字体问题

问题描述

最近在使用spire.office.free这个工具将Excel转换成Html时,后台总是报

Cannot found font installed on the system.宋体

这个错误。

本地调试的好好的,因为服务器是docker运行的,所以就怀疑到了docker上面,是不是docker里面缺少了字体。

试了直接在服务器运行jar包是正常的,所以问题出现在docker上;

镜像里使用的是openjdk:8-jdk-alpine作为基镜像,于是我改成了openjdk:8-jdk试试结果成功了。

于是查了下,如何处理-alpine镜像的字体缺失的问题,经过实践,发现以下可行的方案:

解决方案

FROM openjdk:8-jdk-alpine
COPY test-office-font.jar app.jar
#### 主要是这两句 ####
RUN set -xe && apk --no-cache add fontconfig
COPY simsun.ttc /usr/share/fonts/
######################
EXPOSE 8080
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

Dockerfile中加入上面中的两句,其中第二句中的simsun.ttc是我在windows中C:\Windows\Fonts拷贝来的宋体字体文件,网上还有一种添加开源字体的,我没有尝试成功。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文