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作为基础镜像来打包自己的项目镜像了

特此记录!

相关推荐
deng-c-f9 分钟前
Linux C/C++ 学习日记(53):原子操作(二):实现shared_ptr
开发语言·c++·学习
wanghowie19 分钟前
01.07 Java基础篇|函数式编程与语言新特性总览
java·开发语言·面试
Cricyta Sevina26 分钟前
Java IO 基础理论知识笔记
java·开发语言·笔记
MyBFuture28 分钟前
C#接口与抽象类:关键区别详解
开发语言·c#·visual studio
晨晖21 小时前
简单排序c语言版
c语言·开发语言
小萌新上大分1 小时前
java线程通信 生产者消费者,synchronized,,ReentrantLock,Condition(笔记备份)
java·多线程·lock·java线程间通信的方式·reentrantlock使用·生产者消费者问题java·java多线程与高并发
それども1 小时前
Spring Bean 的name可以相同吗
java·后端·spring
MediaTea1 小时前
大学 Python 编程基础(合集)
开发语言·python
墨雪不会编程1 小时前
C++ string 详解:STL 字符串容器的使用技巧
java·开发语言·c++
Lucky GGBond1 小时前
实践开发:老系统新增字段我是如何用枚举优雅兼容历史数据的
java