openJDK17官方镜像报Error loading shared library libfreetype.so

新项目使用openJDK17做的,做完后打包成docker镜像到服务器上运行

docker镜像基础镜像用的是openjdk:17-jdk-alpine

运行后加载验证码的时候报:Error loading shared library libfreetype.so

搜了一圈没找到哪里有共用的带字体库的jdk17镜像,索性自己制作一个了

创建dockerfile:

bash 复制代码
#第一条FROM,指定使用哪个镜像源

FROM openjdk:17-jdk-alpine

#维护者 作者 邮箱
MAINTAINER djcking <409434091@qq.com>

# 安装支持的字体 【修改处1】
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
RUN set -xe && apk --no-cache add ttf-dejavu fontconfig

# 设置中文支持 【修改处2】
# setup language 解决中文乱码
ENV  LANG C.UTF-8

然后运行:docker build --platform linux/amd64 -t jdk-font:17 .

注意不要少了最后的那个点,运行截图:

然后

然后maven文件里就可以使用这个jdk-font:17作为基础镜像来打包自己的项目镜像了

特此记录!

相关推荐
武子康1 小时前
Java-166 Neo4j 安装与最小闭环 | 10 分钟跑通 + 远程访问 Docker neo4j.conf
java·数据库·sql·docker·系统架构·nosql·neo4j
QT 小鲜肉1 小时前
【个人成长笔记】在 Linux 系统下撰写老化测试脚本以实现自动压测效果(亲测有效)
linux·开发语言·笔记·单片机·压力测试
程序员龙一1 小时前
C++之static_cast关键字
开发语言·c++·static_cast
yue0082 小时前
C# 分部类读取学生信息
开发语言·c#
奶茶树2 小时前
【C++/STL】map和multimap的使用
开发语言·c++·stl
聪明努力的积极向上2 小时前
【C#】事件简单解析
开发语言·c#
2301_796512522 小时前
Rust编程学习 - 为什么说Cow 代表的是Copy-On-Write, 即“写时复制技术”,它是一种高效的 资源管理手段
java·学习·rust
编啊编程啊程2 小时前
【029】智能停车计费系统
java·数据库·spring boot·spring·spring cloud·kafka
hashiqimiya2 小时前
springboot后端的接口headers
java·spring boot·后端