macOS上制作arm64的jdk17镜像

公司之前一直用的openjdk17的镜像,docker官网可以直接下载,但是最近对接的一个项目,对方用的是jdk17,在对接的时候有加解密异常的问题,为了排查是不是jdk版本的问题,需要制作jdk17的镜像。docker官网上的第三方镜像基本上都是基于openjdk的,很难找到jdk的,所以只好自己制作。公司服务器是euleros v2r9 aarch64的,所以需要arm64的镜像。

本机环境:macOS big sur 11.7.8,RELEASE_X86_64

docker版本:24.0.5

1、首先去oracle官网下载需要的arm64版本的jdk压缩包

https://download.oracle.com/java/17/latest/jdk-17_linux-aarch64_bin.tar.gz

2、编写Dockerfile文件

注意基础镜像的选择很重要

bash 复制代码
# 指定基础镜像
FROM arm64v8/ubuntu:latest
# 指明镜像的作者和电子邮件
MAINTAINER test "test@xxx.com"
# 在构建镜像时,指定镜像的工作目录,之后的命令都是基于此工作目录,如果不存在,则会创建该目录
WORKDIR /usr/local/java
# 将jre安装包复制到镜像中(ADD与COPY的区别:ADD复制并解压,COPY仅复制)下面用的是绝对路径
ADD jdk-17_linux-aarch64_bin.tar.gz /usr/local/java
# 配置环境变量
ENV JAVA_HOME=/usr/local/java/jdk-17.0.8
ENV PATH=$PATH:$JAVA_HOME/bin

3、然后根据Dockerfile构建镜像

bash 复制代码
docker build -t jdk:17.0.8 .

4、导出镜像文件

bash 复制代码
docker save jdk:17.0.8 -o jdk17-arm64.tar

5、验证镜像文件

bash 复制代码
docker run --rm jdk:17.0.8 java --version
相关推荐
小陈phd2 小时前
混合知识库搭建:本地Docker部署Neo4j图数据库与Milvus向量库
数据库·docker·neo4j
Wpa.wk3 小时前
容器编排 - 了解K8s(pod, deployment,service,lable等概念)
经验分享·测试工具·docker·云原生·容器·kubernetes
雪域迷影4 小时前
MacOS中运行Next.js项目注册新用户时MongoDB报错MongoServerError
mongodb·macos·react·next.js
Wpa.wk6 小时前
容器编排 - K8s - 配置文件参数说明和基础命令
经验分享·测试工具·docker·云原生·容器·kubernetes
西京刀客7 小时前
macOS 打出来的 tar 包,Linux 常见告警(tar 包里带了 macOS 的扩展属性(xattr))
linux·运维·macos
码农垦荒笔记8 小时前
OpenClaw 实战 #02-1:新手一把过(原Clawdbot )保姆级安装教程-Mac版
人工智能·macos·openclaw
LCG米8 小时前
基于PyTorch的TCN-GRU电力负荷预测:从多维数据预处理到Docker云端部署
pytorch·docker·gru
Warren989 小时前
接口测试理论
docker·面试·职场和发展·eureka·ansible
杭州杭州杭州9 小时前
Docker
运维·docker·容器
denggun123459 小时前
Material 和 Cupertino
macos·objective-c·cocoa