当前位置: 首页 > news >正文

解决docker alpine缺少字体的问题 Could not initialize class sun.awt.X11FontManager

制作的springboot项目镜像,缺少字体报错Could not initialize class sun.awt.X11FontManager

原因镜像中缺少字体

解决:

制作镜像时,添加字体库,Dockerfile文件 中添加如下内容

  • 注意: jdk版本一定要使用,Eclipse Temurin 项目提供的 OpenJDK 17 开发工具包(JDK)。(或者是jdk8)
  • Docker 镜像,基于 Alpine Linux 轻量级操作系统。
  • 配置了清华源下载也不慢
FROM eclipse-temurin:17-jdk-alpine# 配置清华源 + 更新索引
RUN echo "https://mirrors.tuna.tsinghua.edu.cn/alpine/v3.18/main" > /etc/apk/repositories && \echo "https://mirrors.tuna.tsinghua.edu.cn/alpine/v3.18/community" >> /etc/apk/repositories && \apk update# 安装依赖
RUN apk add --no-cache freetype fontconfig# 设置环境变量为 UTF-8 编码
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' > /etc/timezone#############一定要安装字体,要不然验证码报错#########################.....其他配置
http://www.xdnf.cn/news/437977.html

相关文章:

  • 浅析 Golang 内存管理
  • Chrome安装最新vue-devtool插件
  • 国产免费工作流引擎star 6.5k,Warm-Flow升级1.7.2(新增案例和修复缺陷)
  • 【​​HTTPS基础概念与原理​】​​SSL/TLS协议演进史:从SSLv3到TLS 1.3
  • 嵌入式Linux Qt开发:2、Qt creator简单配置、Qt Designer使用以及信号槽机制使用
  • QT之信号与槽
  • 嵌入式设计模式基础--C语言的继承封装与多态
  • Java 性能调优全解析:从设计模式到 JVM 的 7 大核心方向实践
  • 初学c语言14(指针6)
  • 用模型预测控制算法实现对电机位置控制仿真
  • 深入浅出入侵检测系统(IDS)的工作原理与应用场景
  • TTS-Web-Vue系列:Vue3实现内嵌iframe文档显示功能
  • Ubuntu24.04编译ORB_SLAM的一系列报错解决
  • 数字取证-内存取证(volatility)
  • 使用VSCode编辑Markdown+PlantUml
  • 前端面试宝典---js垃圾回收机制
  • “海外滴滴”Uber的Arm迁移实录:重构大规模基础设施​
  • 知识图谱重构电商搜索:下一代AI搜索引擎的底层逻辑
  • 广东省省考备考(第十天5.14)—言语(第三节课)
  • deepseek梳理java高级开发工程师算法面试题
  • C++23 中的 ranges::starts_with 与 ranges::ends_with
  • Go语言中的函数类型参数:深入理解`func()`
  • 编程日志5.6
  • 比亚迪固态电池突破:王传福的技术哲学与产业重构|创客匠人热点评述
  • 部署安装gitlab-ce-17.9.7-ce.0.el8.x86_64.rpm
  • PyQt5基本窗口控件(QComboBox(下拉列表框))
  • AI开发者的算力革命:GpuGeek平台全景实战指南(大模型训练/推理/微调全解析)
  • 注解和 XML 两种方式有什么区别?
  • hudi + flinksql 处理 金额汇总的实时场景
  • Flink实时统计任务CPU异常排查与解决方案