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文库

相关推荐
君不见,青丝成雪1 天前
网关整合验签
大数据·数据结构·docker·微服务·系统架构
oneslide1 天前
Kubernetes环境部署Redis集群
redis·容器·kubernetes
企鹅侠客1 天前
k8s之Headless浅谈
云原生·容器·kubernetes
SHIPKING3931 天前
【Docker安装】Windows10专业版安装教程
运维·docker·容器
编程的一拳超人1 天前
Docker核心概念、常用命令与实战指南
运维·docker·容器
编程的一拳超人1 天前
Docker 核心命令速查表(精细分类版)
运维·docker·容器
风吹一夏v1 天前
Docker 部署 GitLab 和 GitLab Runner 指南
docker·容器·gitlab
曦樂~1 天前
【Docker】网络
docker·容器·php
刘晓倩1 天前
Docker Desktop(Windows/Mac)零外网部署 Dify 极简指南
macos·docker·容器
Lucis__1 天前
从基本用法到迭代器实现—list重难点突破
c++·容器·list