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

运维(11) 解决openjdk:8-jdk-alpine镜像字体问题 文章目录一、问题二、解决1、解决字体问题2、解决时差8小时问题 一、问题 由于项目的Dockerfile中使用openjdk:8-jdk-alpine作为基础镜像部署服务,此镜像存在一定问题,例如时差8小时问题,或是由于字体问题导致导出excel文件内容为空等。 二、解决 1、解决字体问题 新建Dockerfile文件 FROM openjdk:8-jdk-alpine RUN apk add --update ttf-dejavu fontconfig && rm -rf /var/cac 阅读详情
问题描述

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

避坑指南:解决Docker版ONLYOFFICE中文乱码与字体缺失问题(实测有效) 本文针对Docker版ONLYOFFICE Document Server常见的中文乱码与字体缺失问题,提供了从根源分析到实战解决方案的完整指南。详细介绍了通过宿主机字体目录挂载、自定义Dockerfile构建以及混合方案等三种实测有效的方法,帮助用户彻底解决字体渲染问题,优化文档协作体验。 阅读详情

相关推荐

docker基础镜像源openjdk缺少字体管理的问题,记录一下

线下开发时,使用的是oracl-jdk:8版本,在使用poi工具导出excel时,不会存在找不到字体的问题然而在使用docker部署到线上时使用的是openjdk:8-jre-slim,这个镜像没有libfontmanager链接库,会导致poi工具导出excel时调用字体库失败并报错,具体原因可以去最开头写的原因中查看官方的issue了解详情最终解决问题所用到的基础镜像源来自这篇文章:解决docker alpine缺少字体的问题。

zhang2312600_a的博客 1408

jdk-alpine镜像无法找到字体

在制作docker境相的时候选择apline基础镜像,这个版本啥都没有,只有一些可供运行的基础命令,所以在需要在dockerfile文件中添加如下代码。

JavaGPT的博客 793

Docker镜像中JDK17字体缺失问题:libfreetype.so.6的解决方案

本文针对Docker镜像中运行JDK17应用时常见的`libfreetype.so.6`字体库缺失问题,提供了详细的解决方案。文章分析了错误`java.lang.UnsatisfiedLinkError`的根源,并给出了三种实用方法:在Alpine或Debian系镜像中安装字体库、使用预装字体的官方JDK镜像,以及集成中文字体的进阶实践。同时,文中强调了字体授权合规性与镜像优化技巧,帮助开发者构建稳定、合规的生产级Docker镜像。

weixin_29291863的博客 276

关于Docker 安装 openJdk 11 镜像时缺少中文字体的问题解决方案

bug提示① java.lang.NoClassDefFoundError: Could not initialize class xxx bug提示② Caused by: java.lang.UnsatisfiedLinkError 解决方案 在 Dockerfile 文件的 FROM 和 RUN mkdir / 之间,添加如下代码 # 添加阿里云镜像 RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/.

寻道书生的博客 3123

医疗AI Agent实战:从零搭建一个能看病的智能助手(附完整代码)

本文详细介绍了如何从零搭建一个医疗AI Agent智能助手,涵盖核心架构设计、症状推理引擎开发、安全与合规实现以及系统集成等关键环节。通过完整的代码示例和实战案例,帮助开发者快速构建具备医疗咨询能力的智能Agent,提升医疗服务的效率和质量。

ss78901的博客 466

vue3+ts项目里如何使用状态管理pinia以及数据持久化

vue3 pinia 数据持久化

ICUiseeyou的博客 8794

(java17镜像包)(jdk17)解决docker alpine缺少字体的问题 Could not initialize class sun.awt.X11FontManager

SpringBoot项目镜像因缺少字体报错(Could not initialize class sun.awt.X11FontManager)的解决方案:使用eclipse-temurin提供的OpenJDK17(或JDK8)作为基础镜像,基于Alpine Linux系统。关键步骤包括:1)配置清华源加速下载;2)安装freetype和fontconfig字体库;3)设置UTF-8编码环境;4)配置时区为上海。这些修改能解决因镜像缺少字体导致的验证码生成等问题。

weixin_42759398的博客 843

5G核心网Framed Routing功能解析:基于PFCP的帧路由机制与多终端互联实践

5G核心网Framed Routing功能解析:基于PFCP的帧路由机制与多终端互联实践

大家好,我是码农老gou,一名专注于编程技术的程序员。在这个博客中,我将与大家分享我在工作和学习中的经验、见解以及一些实用的技术干货。 1463

解决docker中Easyexcel因缺少字体无法导出的问题

错误信息是 Docker坑Alpine没有自带默认字体造成的 解决方案 在 Dockerfile 中进行修改,增加如下内容 ENV LANG en_US.UTF-8 RUN apk add --update ttf-dejavu fontconfig && rm -rf /var/cache/apk/* 我们公司使用的是 使用maven方式 dockerfile远程打包镜像 ...

qq_39624298的博客 1934

银河麒麟v10(x86_64)升级openssh实操成功

本文详细介绍了在银河麒麟V10系统上将OpenSSH从8.2p1升级至9.9p2版本的全过程。主要内容包括:系统环境确认、安装telnet备用连接、备份配置、卸载旧版本、安装新版本、服务配置与验证等关键步骤。特别强调了安全注意事项,如必须安装telnet作为备用连接、重要配置备份等。升级后提供了安全加固建议,包括修改SSH端口、禁用root登录等。文章还包含详细的故障排查方法和恢复方案,确保升级过程安全可靠。通过本教程,用户可以顺利完成OpenSSH版本升级,提升系统安全性。

淘淘小窝 1089

Linux中Hadoop 集群搭建

零、下载Hadoop: http://archive.cloudera.com/cdh5/cdh/5/?tdsourcetag=s_pctim_aiomsg 一、集群规划: 搭建的 hadoop 集群由 3 台服务器组成,分别叫做 master,salve1 和 slave2。其中 master 作为主节点,slave1 和 slave2 作为从节点。 二、网络配置: 1.查看 3 个节点的主机名...

白墨的小白博客 3991

EasyExcel在Docker环境中导出Excel字体问题的解决方案

在使用EasyExcel进行Excel文件导出时,很多开发者会遇到在Docker环境中运行时出现的字体问题。本文将深入分析这个问题的原因,并提供几种有效的解决方案。 ## 问题现象 当在Docker容器中运行EasyExcel导出功能时,可能会遇到以下错误提示: ``` Fontconfig head is null, check your fonts or fonts configurati...

gitblog_00801的博客 581

10.2 在新能源、储能及电网节点的应用实践

构网型变流器技术在电力系统中的应用进展 构网型变流器技术正从理论研究走向规模化工程应用,为新能源并网提供主动支撑能力。该技术在光伏电站采用"部分构网"混合架构,由构网单元实现黑启动和弱网稳定;在风电场利用叶轮动能提供惯量响应。储能系统是理想的构网载体,可提供快速调频和动态电压支撑。在电网节点,构网型STATCOM可增强弱电网电压稳定性,大容量变流器可替代传统调相机。当前面临标准滞后、宽频振荡风险等共性挑战,需在可靠性、经济性间取得平衡。系统级协调控制和精确阻抗建模是应用成功的关键。

技术工作者 1109

Spring Boot项目发布到Docker缺省字体导致captcha报错问题

Docker镜像运行Spring Boot项目一般采用的是openjdk,这个jdk环境缺省是没有字体的,在运行很多项目时,会因缺省字体报错。我这个项目是使用openjdk:8-jdk-alpine,在登录时使用了captcha验证码,在开发系统使用没有问题,发布到docker发了问题,具体的纠正过程记录如下: 一、问题情况 登录时,前端报错,但没有反馈任何有用信息,在后台发现以下错误,根据FontConfiguration和以前经验应该是字体问题,网上一查,果然。 00:08:25.869 [http-n

wujize的博客 2763

Altera FPGA与高速ADS4249和DAC3482的LVDS接口设计

引言:本文以TI的ADS4249(ADC)和DAC3482(DAC)之间的接口为例,介绍Altera FPGA与ADC/DAC之间的DDR LVDS接口设计以及时序约束详细设计。本文介绍的实例可方便扩展到具有类似接口格式的其他高速数据转换器设计。

FPGA_Designer 1899

手把手教你完成YOLOv8 PyQt5和PySide6目标检测界面搭建,前台系统+后台管理系统开发实战,可用于大论文凑工作量或毕设必备,全网最详细教程

目标检测是计算机视觉中的重要任务,广泛应用于安防监控、自动驾驶、智能家居等领域。YOLO系列模型由于其高效的检测速度和较高的准确率,成为目标检测任务的首选算法之一。本项目结合 YOLOv8 与 PyQt5,构建了一个图形化界面,便于用户进行目标检测的操作和展示,实现对图片、视频和摄像头的实时目标检测,不仅可以用于大论文的工作量展示,还可以作为毕业设计。支持目标检测、目标分割等模型进来检测

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1万+

解决Docker缺少字体导致Easyexcel无法导出的问题

解决Docker缺少字体导致Easyexcel无法导出的问题

无敌柚子的博客 7073

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

docker部署项目,工作流流程节点展示及图片文字乱码问题解决办法

1.问题原因 在开发的一个项目使用工作流引擎,前台页面展示流程图的时候,流程节点展示为乱码,同时生成二维码图标也是正方形,如下图所示: 经排查找到原因,服务器所有项目均使用docker容器化部署,考虑为docker环境缺少对应字体的原因 2.解决方法 需在部署时将对应字体引入docker环境。先将对应字段引入项目,再在打包镜像时利用dockerfile将项目内字体文件导入docker环境即可 windows系统字体文件位于如下路径 C:\Windows\Fonts 根据需..

cat91的博客 1455

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【Docker】Alpine系统的镜像添加字体

项目功能涉及Word/PDF处理,中文无法显示,Docker中缺少字体。

weixin_44095788的博客 720

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

解决 alpine 镜像运行 springboot 无法获取验证码(缺少字体)的问题

解决alpine镜像运行springboot 无法获取验证码(缺少字体)的问题 java.lang.NullPointerException at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264) at sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:219) at sun.awt.Fon

qfchenjunbo的博客 1258

Geoserver标注中文字体乱码解决

Geoserver标注中文字体乱码解决方法一:手动更新字体方法二:将字体在docker build的时候就复制进去 因为geoserver部署在docker的tomcat中,由于docker中没有所需的字体(比如sld中要求标注微软雅黑)。所以解决思路是将所需字体应用于docker中。 方法一:手动更新字体 进入对应geoserver 所在docker docker exec -it /bin/bash 更改下载源到国内 执行 mv /etc/apt/sources.list /etc/apt/sourc

qq_41049150的博客 1910

docker 镜像构建的两种方法

1:通过open jdk方法,open jdk是只包含最精简的jdk,可以使用IcedTea作为补丁,应该就和java一样了,使用openjdk构建的镜像包小,容易拉取,运行稳定。能省好几百兆 FROM openjdk:8-jdk-alpine MAINTAINER ylj ADD gsa-geographic-support-0.0.1-SNAPSHOT.jar app.jar ENTRYPO...

qq_33398459的博客 971

若依项目 docker镜像发到服务器导出报错

若依框架的项目,在本地调试都没问题,验证码导出功能都正常,把docker镜像部署到服务器后,导出功能全部报错。由于docker镜像中没有若依需要的字体,在dockerfile中加下面这行代码重新打镜像就可以了。

weixin_60486360的博客 276

验证码出现出现缺少字体或者图形环境解决方案

Docker部署Java应用字体缺失问题、X11FontManager类初始化失败解决方案

qq_41215938的博客 402

docker环境下 easyExcel导出错误

docker环境下easyExcel导出错误

墨染秦时的博客 1356
上一篇: 达梦JAVA程序指定访问模式(模式名含有特殊字符的处理)
下一篇: RestTemplate上传、下载文件
淋雨一直走啊
博客等级 码龄11年 39粉丝 46原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值