|
|
### 零、阿里巴巴 $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
|
|
|
```
|
|
|
|
|
|

|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
|
```
|
|
|
|