docker容器部署jar应用导入文件时候报缺少字体错误解决

如题,在导入文件时候报错如下:

java 复制代码
Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11FontManager

经查是缺少对应字体,解决办法有两张:

第一种:重新在初始镜像里面安装对应字体,以后每次使用就行,具体方法可参考第二种方法

第二种:如果不想在初始镜像里面安装字体再重新生成镜像可使用如下方法:

上传字体文件到服务器:我这里使用的字体文件是 fontconfig-packages.tar.gz 这个安装包

在dockerfile里面配置,在容器启动时候 复制字体进容器,并安装对应字体

添加内容如下:

java 复制代码
# libfreetype.so.6  是宿主机上面的文件 ,可在/usr/lib64/ 目录下面寻找
COPY fontconfig-packages/libfreetype.so.6 /usr/lib64/libfreetype.so.6
# libpng15.so.15   是宿主机上面的文件, 可在/usr/lib64/ 目录下面寻找
COPY fontconfig-packages/libpng15.so.15 /usr/lib64/libpng15.so.15
#复制刚刚上传的文件到容器/app/目录下面
COPY fontconfig-packages /app/

#执行安装字体需要文件
RUN  rpm -ivh --nodeps *.rpm

安装完成后,可使用 ldconfig -p | grep freetype 命令,查看是否安装成功,成功后结果如下图所示

最下面是字体安装包下载链接:

docker应用缺少字体文件资源-CSDN文库

相关推荐
无人生还别怕14 小时前
如何搭建k8s服务(containerd部署)
linux·云原生·容器·kubernetes·openanolisos
杨浦老苏15 小时前
把项目管理搬回自己服务器:Windshift部署与避坑
docker·项目管理·群晖
木雷坞16 小时前
Baserow Docker部署:导入设备借用CSV,再用表单新增登记
运维·docker·容器
fb_1234516 小时前
从探针到权限:一篇吃透 Kubernetes 健康检查、RBAC 认证授权与 Dashboard 可视化管理
云原生·容器·kubernetes
wefg117 小时前
【Docker】基本指令
运维·docker·容器
mengge.cloud17 小时前
10-28-Kubernetes健康检查认证授权与Dashboard
云原生·容器·kubernetes
牛马工作号19 小时前
Copyparty 轻量文件共享:Docker Compose 部署、权限与多协议使用全指南
运维·docker·容器
oioihoii20 小时前
Windows部署MySpeed自建测速服务:Docker运行后直接测速,再配置固定公网地址远程查看
运维·docker·容器
Jack N1 天前
【Strapi 系列之八】二次开发 + 生产部署,Docker + PostgreSQL + Nginx 一把梭
nginx·docker·postgresql·strapi
艾伦_耶格宇1 天前
【kubernetes - 1.28版本】-7 K8S命令
云原生·容器·kubernetes