### 零、阿里巴巴 $dragonwell$ $JDK21$版本: ```shell docker pull dragonwell-registry.cn-hangzhou.cr.aliyuncs.com/dragonwell/dragonwell:21 ``` 跑起来看看 ```shell docker run -d dragonwell-registry.cn-hangzhou.cr.aliyuncs.com/dragonwell/dragonwell:21 sh -c "tail -f /dev/null" [root@iZ2ze7rbr33s5tbblr53f6Z ~]# docker ps -a | grep dragonwell 15d2a7d3cc23 dragonwell-registry.cn-hangzhou.cr.aliyuncs.com/dragonwell/dragonwell:21 "jshell" 23 seconds ago Exited (0) 20 seconds ago busy_fermat docker exec -it 78175345e657 sh sh-4.4# cat /etc/os-release NAME="Alibaba Cloud Linux" VERSION="3 (OpenAnolis Edition)" ID="alinux" ID_LIKE="rhel fedora centos anolis" VERSION_ID="3" VARIANT="OpenAnolis Edition" VARIANT_ID="openanolis" ALINUX_MINOR_ID="2104" ALINUX_UPDATE_ID="10" PLATFORM_ID="platform:al8" PRETTY_NAME="Alibaba Cloud Linux 3.2104 U10 (OpenAnolis Edition)" ANSI_COLOR="0;31" HOME_URL="https://www.aliyun.com/" sh-4.4# java -version openjdk version "21.0.4.0.4" 2024-07-16 OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition)-21.0.4.0.4+7-GA (build 21.0.4.0.4) OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition)-21.0.4.0.4+7-GA (build 21.0.4.0.4, mixed mode, sharing) ``` ### 一、下载$JDK21$ > https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz ### 二、利用阿里云的$ECS$制作私有镜像 ```shell 在阿里云购买了一台ECS主机 8.147.134.252 用户名: root 密 码:DsideaL4r5t6y7u!@# ``` ### 三、安装$Docker$ ```shell yum install -y yum-utils yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y # 配置Docker加速器 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://95lqrpjl.mirror.aliyuncs.com"] } EOF systemctl daemon-reload systemctl restart docker ``` ### 四、生成$JDK$基础镜像 ```shell yum install lrzsz -y rz -be 选择:D:\SetupSoftware\JDK21\jdk-21_linux-x64_bin.tar.gz ``` ```dockerfile cat Dockerfile # 使用 Debian 11 slim 作为基础镜像 FROM debian:11-slim # 设置环境变量 ENV jdk=jdk-21_linux-x64_bin.tar.gz MAINTAINER bright "10402852@qq.com" # 配置镜像源 RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list # 更新软件包索引并安装必要的工具和依赖 RUN apt-get update && apt-get install -y \ locales \ tzdata \ && rm -rf /var/lib/apt/lists/* # 如果您需要某个特定的 locale,例如 en_US.UTF-8,则生成它 RUN locale-gen en_US.UTF-8 # 安装设置时区 RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone # 添加 JDK 文件 COPY $jdk /usr/local/ RUN tar -zxvf /usr/local/$jdk -C /usr/local/ && rm /usr/local/$jdk # 设置环境变量 ENV JAVA_HOME=/usr/local/jdk-21.0.1 ENV PATH=$JAVA_HOME/bin:$PATH ``` ```shell docker build -t dsideal/jdk:21 . ``` ### 五、查看$JDK$信息 ```shell #测试镜像 docker run --rm -it --name test dsideal/jdk:21 #进入临时镜像测试是否成功 java -version ``` ### 六、上传到黄海的个人私有仓库 ```shell # 登录黄海的个人镜像仓库 docker login --username=东师黄海 registry.cn-hangzhou.aliyuncs.com --password DsideaL4r5t6y7u # 修改tag标签 docker tag dsideal/jdk:21 registry.cn-hangzhou.aliyuncs.com/dsideal/jdk:21 # 上传镜像 docker push registry.cn-hangzhou.aliyuncs.com/dsideal/jdk:21 # 测试拉取 docker pull registry.cn-hangzhou.aliyuncs.com/dsideal/jdk:21 ``` ![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202409181457611.png) ![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202409181456836.png) ```shell ```