alpine
常用于作为 docker
的基础镜像,因为它很小,功能精简,基本上没有啥漏洞,记录一下最近用 alpine
作为基础镜像构建 java 8
镜像 下面的问题在 oracle jdk
openjdk
都会出现 。
这个错误一般出现在生成验证码绘制的时候,这个错误大概原因就是由于在 alpine
上太过于精简了,导致初始化 FontManagerFactory
工厂初始化失败,那么解决办法就是安装 glibc
。
网上有很多博主都只讲安装了 glib.apk
核心包就行,其实这里需要安装3个包 以 2.3.0
为例 需要安装的包为
安装命令如下
安装完后就没有问题了,测试方法 可以写一个main方法在容器中验证是否能执行通过 Class.forName("sun.awt.X11FontManager");
,当在验证码不可行环境的时候 报错的消息为
/usr/local/jdk1.8.0_301/jre/lib/amd64/libfontmanager.so: libgcc_s.so.1: cann......
。
还有就是可以进入在运行中的容器直接安装 安装完成了之后基本上就没有问题了。
该错误在openJDK中出现过,OracleJDK没有出现。
解决方式就安装zlib 安装命令如下
安装好后 没有问题了
另贴上基于 alpine
的阿里 dragonwell openjdk
的Dockerfile
dragonwell JDK Dockerfile
Original: https://www.cnblogs.com/peachyy/p/15538550.html
Author: peachyy
Title: 基于alpine构建jdk镜像遇到的坑
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/622156/
转载文章受原作者版权保护。转载请注明原作者出处!