下載oraclejdk8
進入oracle下載目錄:https://www.oracle.com/java/technologies/downloads/

選擇我們需要的版本,我們鏡像默認使用的是ARM64的centos,所以這里選擇jdk-8u311-linux-x64.tar.gz,這邊需要我們登陸一下oracle.這里我們用郵箱注冊一下就好了.

下載完成后,以下為我的目錄結構.
- Dockerfile (生成鏡像的編排文件)
- jdk-8u311-linux-x64.tar.gz (剛才下載的jdk文件)
- jar目錄(由基礎鏡像啟動的dcn程序)

構建基礎鏡像
在dockerhub中選擇centos7鏡像https://hub.docker.com/_/centos?tab=tags

Dockerfile文件
#!/bin/bash
# 使用centos作為基礎鏡像
FROM centos
# 維護人信息
MAINTAINER lisongyu li.songyu@qq.com
# 切換到usr/local 目錄下,沒有則創建
WORKDIR /usr/local/jdk
# 將下載的jdk 的壓縮包拷貝到鏡像中,注意 ADD和COPY的區別,ADD 會解壓,COPY不會解壓
ADD jdk-8u311-linux-x64.tar.gz /usr/local/jdk
# 設置JAVA_HOME 的環境變量
ENV JAVA_HOME /usr/local/jdk/jdk1.8.0_311
# 設置JAVA 環境
ENV CLASSPATH=$JAVA_HOME/bin:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
# 將java可執行文件設置到PATH中,這樣就可以使用java命令了
ENV PATH=.:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
# 容器啟動后執行命令
CMD ["java","-version"]
生成基礎鏡像
docker build -t centos-jdk8:v1.0 .


我們可以使用
docker run驗證一下鏡像的情況.由於我筆記本電腦是mac M1版本的.amd64的版本無法使用,所以我切換了jdk為jdk-8u311-linux-aarch64.tar.gz版本的;出現如下信息就可以說明jdk的基礎鏡像就打好了.

