基于alpine构建jdk镜像遇到的坑

技术基于alpine构建jdk镜像遇到的坑 基于alpine构建jdk镜像遇到的坑alpine常用于作为docker的基础镜像,因为它很小,功能精简,基本上没有啥漏洞,记录一下最近用alpine作为基础

基于阿尔卑斯山的构建jdk镜像遇到的坑

阿尔卑斯山的常用于作为码头工人的基础镜像,因为它很小,功能精简,基本上没有啥漏洞,记录一下最近用阿尔卑斯山的作为基础镜像构建java 8镜像下面的问题在oracle jdkopenjdk都会出现。

错误一

Java。朗。noclassedeffounderror :无法初始化类sun.awt.X11FontManager

这个错误一般出现在生成验证码绘制的时候,这个错误大概原因就是由于在阿尔卑斯山的上太过于精简了,导致初始化FontManagerFactory工厂初始化失败,那么解决办法就是安装glibc。

网上有很多博主都只讲安装了glib.apk核心包就行,其实这里需要安装3个包以2.3.0为例需要安装的包为

https://github。com/SG Dutch/alpine-pkg-glibc/releases/download/2.30-r0/glibc-2.30-r0。apk

https://github。com/SG Dutch/alpine-pkg-glibc/releases/download/2.30-r0/glibc-bin-2.30-r0。apk

https://github。com/SG Dutch/alpine-pkg-glibc/releases/download/2.30-r0/glibc-i18n-2.30-r0。apk

安装命令如下

apk -无缓存添加加州图书馆标准委员会证书bash wget

https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub公共图书馆

wget https://github。com/SG Dutch/alpine-pkg-glibc/releases/download/2.30-r0/glibc-2.30-r0。apk

wget https://github。com/SG Dutch/alpine-pkg-glibc/releases/download/2.30-r0/glibc-bin-2.30-r0。apk

wget https://github。com/SG Dutch/alpine-pkg-glibc/releases/download/2.30-r0/glibc-i18n-2.30-r0。apk

apk添加glibc-2.30-r0.apk apk添加glibc-bin-2.30-r0.apk apk添加glibc-i18n-2.30-r0.apk

安装完后就没有问题了,测试方法可以写一个主要的方法在容器中验证是否能执行通过上课。FOrname(' sun。啊。X11字体管理器’);当在验证码不可行环境的时候报错的消息为

/usr/local/JDK 1。8 .0 _ 301/JRE/lib/amd64/lib font manager。所以: libgcc _ s。1:罐.

还有就是可以进入在运行中的容器直接安装安装完成了之后基本上就没有问题了。

错误二

该错误在openJDK中出现过,OracleJDK没有出现。

加载共享库时出错。因此,1:无法打开共享对象文件

解决方式就安装zlib安装命令如下

curl-Ls https://存档。archlinux。org/packages/z/zlib/zlib-1:1。2 .91-x86 _ 64。pkg。焦油。xz-o libz。焦油。xz mkdir-p libz tar-xf libz。焦油。xz-C libz

mv libz/usr/lib/libz。so */usr/glibc-compat/lib

rm -rf libz.tar.xz

安装好后没有问题了

dragonwell openjdk Dockerfile

另贴上基于阿尔卑斯山的的阿里dragonwell openjdk的文件

龙井JDK码头

来自阿尔卑斯山:3.8

LABEL maintainer='xstao '

TZ=亚洲/上海

当地时间\

echo $ { TZ }/etc/时区

#mirrons aliun

运行回声http://mirrors.aliyun.com/alpine/v3.10/main//etc/apk/存储库\

回声http://mirrors.aliyun.com/alpine/v3.10/community//etc/apk/存储库

运行apk更新apk升级

#安装glibc

运行apk -无缓存添加libstdc ca证书bash wget curl \

https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub公共图书馆

wget https://github。com/SG Dutch/alpine-pkg-glibc/releases/download/2.30-r0/glibc-2.30-r0。apk \

wget https://github。com/SG Dutch/alpine-pkg-glibc/releases/download/2.30-r0/glibc-bin-2.30-r0。apk \

wget https://github。com/SG Dutch/alpine-pkg-glibc/releases/download/2.30-r0/glibc-i18n-2.30-r0。apk \

apk添加glibc-2.30-r0.apk apk添加glibc-bin-2.30-r0.apk apk添加glibc-i18n-2.30-r0.apk \

curl-Ls https://存档。archlinux。org/packages/z/zlib/zlib-1:1。2 .91-x86 _ 64。pkg。焦油。xz-o libz。焦油。xz mkdir-p libz tar-xf libz。焦油。xz-C libz \

mv libz/usr/lib/libz。so */usr/glibc-compat/lib \

RM glibc-2.30-r0。apk RM glibc-bin-2.30-r0。apk RM glibc-i18n-2.30-r0。apk RM-RF/var/cache/apk/* RM-RF libz/* RM-RF libz。焦油。xz

运行apk添加-更新字体-adobe-100 dpi TTF-dejavu字体配置

ENV JAVA_VERSION='jdk8u302-b01 '

ENV JAVA _ HOME='/usr/local/$ { JAVA _ VERSION } '

ENV PATH=' $ { JAVA _ HOME }/bin : $ { PATH } '

#

工作目录/选择

执行wget 339龙井。OSS-。艾莉丝。com/8。8 .9/阿里巴巴_龙井_ 8。8 .9 _ x64 _ Linux。焦油。地面零点

运行tar-zxf阿里巴巴_龙井_ 8。8 .9 _ x64 _ Linux。焦油。地面零点

运行mv ${JAVA_VERSION} /usr/local

运行rm -rf阿里巴巴_龙井_ 8。8 .9 _ x64 _ Linux。焦油。地面零点

阿力克斯阿力克斯阿力克斯。

吴亚玲:桃色

李佑(音译):http://www .cn博客。com/peach/

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/81992.html

(0)

相关推荐

  • 怎么解决Python3.8用pip安装turtle-0.0.2出现错误问题

    技术怎么解决Python3.8用pip安装turtle-0.0.2出现错误问题这篇文章主要讲解了“怎么解决Python3.8用pip安装turtle-0.0.2出现错误问题”,文中的讲解内容简单清晰,易于学习与理解,下面

    攻略 2021年11月10日
  • 自制柚子茶,家庭自制蜂蜜柚子茶要怎么做

    技术自制柚子茶,家庭自制蜂蜜柚子茶要怎么做在冬天这个时候,是吃柚子的最佳时节,柚子皮具有很好的清热去火功能,并且柚子皮在擦拭水龙头等厨具上面还可以很好的清洁污渍,所以小编的柚子皮都是充分利用的,最喜欢的就是用它来做蜂蜜柚

    生活 2021年10月28日
  • 张飞穿针的歇后语是什么,歇后语,张飞穿针下一句是

    技术张飞穿针的歇后语是什么,歇后语,张飞穿针下一句是张飞穿针——大眼瞪小眼张飞穿针的歇后语是什么。 附:“张飞系列”歇后语 张飞吃豆芽——小菜一碟 张飞穿针——大眼瞪小眼 张飞使计谋——粗中有细 张飞卖针——人强货扎手

    生活 2021年10月26日
  • 如何使用Eclipse进行PHP的服务器端调试

    技术如何使用Eclipse进行PHP的服务器端调试这篇文章将为大家详细讲解有关如何使用Eclipse进行PHP的服务器端调试,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先,得将您P

    攻略 2021年11月25日
  • redis未授权

    技术redis未授权 redis未授权Redis服务简介
    Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可

    礼包 2021年11月9日
  • 如何在Java代码中去掉烦人的“!=null”

    技术如何在Java代码中去掉烦人的“!=null”本篇文章给大家分享的是有关如何在Java代码中去掉烦人的“!=null”,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一

    攻略 2021年12月2日