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

制作JDK17 arm64基础镜像,解决字体安装问题

1、下载jdk17 arm64的安装包

官网下载地址
在这里插入图片描述

2、编写Dockerfile

图形验证码生成需要使用到相关字体,所以基础镜像把字体相关也安装上。

# 基础镜像
FROM arm64v8/centos:8.4.2105MAINTAINER hqh# 换源
RUN sed -i 's|^mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/CentOS-* && \sed -i 's|^#baseurl=http://mirror.centos.org|baseurl=https://mirrors.aliyun.com|g' /etc/yum.repos.d/CentOS-*# 使用 yum 安装包并清除缓存
RUN yum makecache# 安装字体
RUN yum install -y fontconfig freetype-devel# 刷新字体缓存
RUN fc-cache -fv# 创建JDK目录
RUN mkdir /usr/local/jdk
WORKDIR /usr/local/jdk# 自动解压到该目录下
ADD jdk-17.0.14_linux-aarch64_bin.tar.gz /usr/local/jdk# 设置环境变量
ENV JAVA_HOME=/usr/local/jdk/jdk-17.0.14
ENV CLASSPATH=.:$JAVA_HOME/lib/jrt-fs.jar
ENV PATH=$PATH:$JAVA_HOME/bin

3、把安装包和Dockerfile放入同一个目录,如下

在这里插入图片描述

4、上传到装有Docker的arm架构的服务器上,运行以下命令

# 要加上`--network=host`,不然Docker无法联网下载资源
docker build --network=host -t oracle-jdk-arm64:17 .# 验证
docker run --rm oracle-jdk-arm64:17 java -version# 能看到java版本则说明正常
java version "17.0.14" 2025-01-21 LTS
Java(TM) SE Runtime Environment (build 17.0.14+8-LTS-191)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.14+8-LTS-191, mixed mode, sharing)# 打仓库标签,推送到仓库,镜像格式如:127.0.0.1/demo/oracle-jdk-arm64:17
docker tag oracle-jdk-arm64:17 harbor镜像仓库地址/项目/oracle-jdk-arm64:17
docker push harbor镜像仓库地址/项目/oracle-jdk-arm64:17
http://www.dtcms.com/a/164796.html

相关文章:

  • Fiddler抓取APP端,HTTPS报错全解析及解决方案(一篇解决常见问题)
  • 混淆矩阵(Confusion Matrix);归一化混淆矩阵(Confusion Matrix Normalized)
  • 《AI大模型应知应会100篇》【精华】第40篇:长文本处理技巧:克服大模型的上下文长度限制
  • 制作一款打飞机游戏33:碰撞体编辑
  • 推荐系统实验指标置信度:p值核心原理与工程应用指南
  • 李录谈卖出股票的时机:价值投资的动态决策框架
  • centos6.7安装完python3 找不到python3命令
  • DES与AES算法深度解析:原理、流程与实现细节
  • 【Yolo精读+实践+魔改系列】Yolov2论文超详细精讲(翻译+笔记)
  • 深度学习·经典模型·SwinTransformer
  • C语言教程(二十三):C 语言强制类型转换详解
  • C++核心编程 1.2 程序运行后
  • 【阿里云大模型高级工程师ACP习题集】2.7 通过微调增强模型能力 (上篇)(⭐️⭐️⭐️ 重点章节!!!)
  • 什么是缓冲区溢出?NGINX是如何防止缓冲区溢出攻击的?
  • LangChain4j +DeepSeek大模型应用开发——5 持久化聊天记忆 Persistence
  • Linux 命名管道+日志
  • 微信小程序开发,购物商城实现
  • 阿里通义Qwen3:双引擎混合推理,119语言破局全球AI竞赛
  • Golang 并发编程
  • 厚铜PCB钻孔工艺全解析:从参数设置到孔壁质量的关键控制点
  • Sql刷题日志(day7)
  • BG开发者日志429:故事模式的思路
  • 免费超好用的电脑操控局域网内的手机(多台,无线)
  • 开放平台架构方案- GraphQL 详细解释
  • 信息系统项目管理工程师备考计算类真题讲解十一
  • 为什么业务总是被攻击?使用游戏盾解决方案
  • 通过全局交叉注意力机制和距离感知训练从多模态数据中识别桥本氏甲状腺炎|文献速递-深度学习医疗AI最新文献
  • 生物信息学常用软件InSequence,3大核心功能,简易好上手
  • 雅思口语高频词汇表达
  • 深度学习篇---模型权重变化与维度分析