1.查询镜像地址
https://hub.atomgit.com/repos/amd64/openjdk
2.docker file
FROM hub.atomgit.com/amd64/openjdk:21-rc-jdk
COPY xxxx.jar xxxx.jar
EXPOSE xxxxx
ENTRYPOINT ["java","-jar","-Xmx200M","-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=xxxx","xxx.jar"]
3.开始配置
1. 新增或者修改
vi /etc/docker/daemon.json
2. 开始编辑
i
3. 编辑内容
{
"registry-mirrors": [
"https://registry.cn-hangzhou.aliyuncs.com",
"https://mirror.ccs.tencentyun.com",
"https://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
]
}
4. 保存并退出
Esc
:wq
5. 重新运行docker, 使文件生效
sudo systemctl daemon-reload
sudo systemctl restart docker
6. 测试拉取 jdk
docker pull hub.atomgit.com/amd64/openjdk:21-rc-jdk
4. 使用本地的jdk创建对应镜像
1.创建一个名字为 jdk8 的文件夹
2. 切换到jdk8文件夹, 并且创建 Dockerfile
3. 修改 Dockerfile 文件
# 使用 国内镜像 作为基础镜像
FROM hub.atomgit.com/amd64/openjdk:21-rc-jdk
# 创建 JDK 安装目录
RUN mkdir -p /usr/local/jdk1.8
# 将本地 JDK 文件复制到镜像中
COPY ./jdk1.8 /usr/local/jdk1.8
# 设置 JAVA_HOME 环境变量
ENV JAVA_HOME /usr/local/jdk1.8
ENV PATH $JAVA_HOME/bin:$PATH
# 验证 Java 安装
RUN java -version
4. 将本地的jdk1.8 复制到jdk8文件夹下,与 Dockerfile文件同级目录
5. 切换到jdk8文件夹下
cd /jdk8
6. 创建本地镜像
docker build -t my-local-jdk8-image .
7.修改项目中的Dockerfile
FROM my-local-jdk8-image
COPY xxxx.jar xxxx.jar
EXPOSE xxxxx
ENTRYPOINT ["java","-jar","-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=xxxx","xxx.jar"]
8.运行镜像
注意:上面 需要本地安装有jdk版本, 不然的话,这里查询到的版本还是 jdk21