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