解决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拷贝来的宋体字体文件,网上还有一种添加开源字体的,我没有尝试成功。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值