1. 能联网的机器拉取基础镜像
bash
docker pull debian:bookworm-slim
2. 将 jdk-21_linux-x64_bin.tar.gz 放入相应目录下。如: /root/jdk21/
3. 编写DokerFile :
bash
# 基于 Debian slim 镜像(内置 glibc,兼容 JDK 21)
FROM debian:bookworm-slim
# 维护者信息(可选)
LABEL maintainer="admin"
# 安装基础依赖(Debian 用 apt,仅需证书保证基础功能)
RUN apt update && \
apt install -y --no-install-recommends ca-certificates && \
rm -rf /var/lib/apt/lists/*
# 创建 JDK 安装目录
RUN mkdir -p /usr/local/jdk21
# 复制本地 JDK tar 包到镜像(确保文件名和你服务器上的一致)
COPY jdk-21_linux-x64_bin.tar.gz /usr/local/jdk21/
# 解压 JDK 并删除压缩包(减小镜像体积)
RUN cd /usr/local/jdk21 && \
tar -zxf jdk-21_linux-x64_bin.tar.gz --strip-components=1 && \
rm -f jdk-21_linux-x64_bin.tar.gz
# 配置 JDK 环境变量
ENV JAVA_HOME=/usr/local/jdk21
ENV PATH=$PATH:$JAVA_HOME/bin
# 验证 JDK 安装
RUN java -version
# 默认启动命令
CMD ["java", "-version"]
4. # 构建镜像(覆盖之前的错误镜像)
bash
docker build -t openjdk:21 .
5. 将镜像保存为 tar 包
bash
docker save -o openjdk21.tar openjdk:21
已做好的镜像包:openjdk21.tar
6. 导入
bash
docker load -i openjdk21.tar
7. 启动: -d 表示后台运行,--restart=always 表示容器异常退出时自动重启
bash
docker run -d -it --name jdk21 --restart=always openjdk:21 /bin/bash
8. 进入容器:
bash
docker exec -it 容器id或者容器名 /bin/bash