Linux系统Docker拉取JDK21镜像超细详解

 更新时间:2024年12月24日 08:50:42   作者:一只蜗牛儿  
这篇文章主要介绍了如何在Linux系统上使用Docker拉取JDK21镜像,并基于该镜像搭建开发和测试环境,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

前言

Docker 是一个轻量级的虚拟化工具,允许你在 Linux、Windows 等操作系统上运行各种容器化应用程序。本文将详细介绍如何在 Linux 系统上使用 Docker 拉取 JDK 21 镜像,并基于该镜像进行开发和测试环境的搭建,确保操作过程清晰、代码丰富。

一、Docker的安装和配置

在 Linux 系统上使用 Docker 的第一步是安装 Docker。Docker 可以在多数 Linux 发行版中通过包管理器进行安装。

1.1 更新系统并安装 Docker

使用以下命令更新系统并安装 Docker:

# 更新软件包
sudo apt update
sudo apt upgrade -y

# 安装依赖项
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y

# 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 添加 Docker 软件源
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装 Docker
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y

1.2 启动并验证 Docker

安装完成后,启动 Docker 服务并验证是否安装成功:

# 启动 Docker
sudo systemctl start docker

# 设置开机启动
sudo systemctl enable docker

# 验证 Docker 安装
docker --version

执行 docker --version,应该会显示 Docker 的版本信息,证明安装成功。

二、查找并拉取 JDK 21 镜像

Docker 提供了许多预构建的镜像,包括各类语言的开发环境。在 Docker Hub 中,我们可以找到官方发布的 OpenJDK 镜像。

2.1 搜索 JDK 21 镜像

使用 docker search 命令可以查找 Docker Hub 上的 JDK 相关镜像:

docker search openjdk

该命令会列出所有与 openjdk 相关的镜像,接下来我们可以选择最新的 JDK 21 镜像。

2.2 拉取 JDK 21 镜像

执行以下命令从 Docker Hub 拉取 JDK 21 镜像:

docker pull openjdk:21

等待下载完成后,你可以使用 docker images 命令查看已拉取的镜像:

docker images

2.3 检查镜像

使用 docker images 列表显示拉取的 JDK 21 镜像:

REPOSITORY         TAG        IMAGE ID       CREATED        SIZE
openjdk            21         abcdef123456   2 days ago     620MB

可以看到 openjdk:21 镜像已经成功拉取,接下来我们将基于该镜像运行容器。

三、运行 JDK 21 容器

拉取镜像后,下一步是基于该镜像运行一个容器,来测试我们的 JDK 环境。

3.1 创建并启动容器

使用以下命令基于 openjdk:21 镜像启动一个容器:

docker run -it --name jdk21-container openjdk:21 /bin/bash

此命令的解释如下:

  • -it:交互式终端模式。
  • --name jdk21-container:为容器指定一个名字。
  • openjdk:21:使用我们刚刚拉取的 JDK 21 镜像。
  • /bin/bash:容器内使用 Bash 终端。

执行完后,你将进入到容器内的终端,在容器内运行 JDK 相关命令。

3.2 验证 JDK 安装

在容器内,执行以下命令来验证 JDK 是否已正确安装:

java -version

你将看到如下输出,表明 JDK 21 已成功运行:

openjdk version "21" 2024-03-20
OpenJDK Runtime Environment (build 21+35)
OpenJDK 64-Bit Server VM (build 21+35, mixed mode)

3.3 退出容器

输入 exit 命令退出容器:

exit

容器将停止运行,但仍然存在。我们可以使用 docker ps -a 查看停止的容器。

四、Docker 常见命令汇总

在使用 Docker 时,有一些常见的命令非常重要,下面是一些常用的 Docker 命令及其解释:

命令说明
docker pull <镜像名>从 Docker Hub 拉取镜像
docker images查看本地镜像列表
docker run -it <镜像名> /bin/bash运行一个交互式容器
docker ps查看正在运行的容器
docker ps -a查看所有容器(包括停止的容器)
docker start <容器ID>启动一个已停止的容器
docker stop <容器ID>停止一个运行中的容器
docker rm <容器ID>删除一个容器
docker rmi <镜像ID>删除一个镜像

五、基于 JDK 21 容器运行简单 Java 应用

接下来,我们在运行的 JDK 21 容器中编写一个简单的 Java 程序,验证容器内的开发环境。

5.1 编写简单的 Java 程序

在容器内创建一个 Java 文件,并编写简单的代码。我们将编写一个 HelloWorld.java 程序:

# 在容器内创建 HelloWorld.java 文件
echo 'public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, Docker JDK 21!");
    }
}' > HelloWorld.java

5.2 编译并运行 Java 程序

使用 javac 命令编译 Java 文件,并使用 java 命令运行编译后的类文件:

# 编译 Java 文件
javac HelloWorld.java

# 运行 Java 程序
java HelloWorld

运行结果:

Hello, Docker JDK 21!

5.3 退出并保存容器

如果想让容器退出后继续保持数据,可以使用 docker commit 来保存容器的当前状态为新的镜像:

docker commit jdk21-container myjdk21-image

这样可以创建一个新的自定义镜像 myjdk21-image,可以下次直接基于这个镜像启动。

结论

通过本篇教程,你已经学习了如何在 Linux 系统上使用 Docker 拉取并运行 JDK 21 镜像。我们还介绍了如何基于该镜像创建和运行容器,并编写简单的 Java 程序验证环境的正确性。Docker 提供了轻量级的虚拟化支持,使得开发者能够快速部署和管理多种开发环境,这对构建现代化应用程序的开发流程非常有帮助。

到此这篇关于Linux系统Docker拉取JDK21镜像的文章就介绍到这了,更多相关Docker拉取JDK21镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring AOP使用之多切面运行顺序

    Spring AOP使用之多切面运行顺序

    这篇文章主要介绍了Spring AOP使用之多切面运行顺序,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • 详解MyBatis多数据源配置(读写分离)

    详解MyBatis多数据源配置(读写分离)

    这篇文章主要介绍了详解MyBatis多数据源配置(读写分离),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Spring5中的WebClient使用方法详解

    Spring5中的WebClient使用方法详解

    这篇文章主要给大家介绍了关于Spring5中WebClient使用方法的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring5具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • java 中break如何跳出外部循环

    java 中break如何跳出外部循环

    这篇文章主要介绍了java 中break如何跳出外部循环,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 解决java-jar报错:xxx.jar 中没有主清单属性的方法

    解决java-jar报错:xxx.jar 中没有主清单属性的方法

    在使用 java -jar xxx.jar 命令运行 Java 应用程序时,遇到了以下错误:xxx.jar 中没有主清单属性,这个错误表示 JAR 文件缺少必要的启动信息,本文将介绍该错误的原因以及如何通过修改 pom.xml 文件来解决,需要的朋友可以参考下
    2024-11-11
  • Java实现NIO聊天室的示例代码(群聊+私聊)

    Java实现NIO聊天室的示例代码(群聊+私聊)

    这篇文章主要介绍了Java实现NIO聊天室的示例代码(群聊+私聊),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • Java 超详细带你掌握矩阵的运算

    Java 超详细带你掌握矩阵的运算

    在学习机器学习算法时,发现运用java 来实现有些算法代码时,会有很大困难,其中有一点就是 java 本身并没有矩阵运算的 api,所以进行要实现矩阵运算就尤其复杂,让我们一起了解矩阵的运算
    2022-03-03
  • eclipse的web项目实现Javaweb购物车的方法

    eclipse的web项目实现Javaweb购物车的方法

    这篇文章主要介绍了eclipse的web项目实现Javaweb购物车的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Java Socket实现简易聊天室

    Java Socket实现简易聊天室

    这篇文章主要为大家详细介绍了Java Socket实现简易聊天室,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • Maven版本依赖pom文件内容及使用剖析

    Maven版本依赖pom文件内容及使用剖析

    这篇文章主要为大家介绍了Maven版本依赖pom文件内容及使用剖析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05

最新评论