记录问题处理fontmanager (libfreetype.so.6: cannot open shared object file: No such file or directory)
在使用docker创建镜像使用
openjdk8-openj9:alpine-slim
内容过于精简,缺少字体,导致Excel导出文件为空。
解决方案大致两种: 换镜像,自己补全所需要的内容
https://blog.csdn.net/Ezreal_King/article/details/108197662
自己安装补全字体
- 在构建镜像时安装字体,dockerfile增加命令:
RUN yum install dejavu-sans-fonts fontconfig -y
- 如果 container已经启动,又不想换,那就直接进到 container,安装字体:
yum install dejavu-sans-fonts fontconfig -y
dockerfile补全无法解决:
# 安装支持的字体 切换阿里仓储并下载ttf-dejavu fontconfig
RUN echo -e 'https://mirrors.aliyun.com/alpine/v3.6/main/\nhttps://mirrors.aliyun.com/alpine/v3.6/community/' > /etc/apk/repositories \
&& apk update \
&& apk upgrade \
&& apk --no-cache add ttf-dejavu fontconfig \
# 下载任意中文字体ttf(这里选择simsun.ttf宋体)。将其复制至/usr/share/fonts
COPY sh/simsun.ttf /usr/share/fonts/simsun.ttf
AI解决方案:(docker镜像启动相当久,不推荐)
# 安装必要的库,包括 libfreetype
RUN apk add --no-cache \
ttf-dejavu \
fontconfig \
freetype \
ttf-droid \
ttf-freefont \
ttf-liberation \
ttf-ubuntu-font-family
# 设置字体缓存
RUN fc-cache -f -v
找一个内容资源比较全的jdk镜像,上传
FROM YOUER_FILE/java:jre-8u402-b06-alpine
解决,不会导致镜像开启时间过长的问题