Docker 是一个轻量级的虚拟化工具,允许你在 Linux、Windows 等操作系统上运行各种容器化应用程序。本文将详细介绍如何在 Linux 系统上使用 Docker 拉取 JDK 21 镜像,并基于该镜像进行开发和测试环境的搭建,确保操作过程清晰、代码丰富。
目录:
- Docker 的安装和配置
- 查找并拉取 JDK 21 镜像
- 运行 JDK 21 容器
- Docker 常见命令汇总
- 基于 JDK 21 容器运行简单 Java 应用
一、Docker的安装和配置
在 Linux 系统上使用 Docker 的第一步是安装 Docker。Docker 可以在多数 Linux 发行版中通过包管理器进行安装。
1.1 更新系统并安装 Docker
使用以下命令更新系统并安装 Docker:
# 更新软件包sudoapt update
sudoapt upgrade -y
# 安装依赖项sudoaptinstall 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"|sudotee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装 Dockersudoapt update
sudoaptinstall docker-ce docker-ce-cli containerd.io -y
1.2 启动并验证 Docker
安装完成后,启动 Docker 服务并验证是否安装成功:
# 启动 Dockersudo 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 提供了轻量级的虚拟化支持,使得开发者能够快速部署和管理多种开发环境,这对构建现代化应用程序的开发流程非常有帮助。
希望本文中的代码和详细步骤能够帮助你更好地掌握 Docker 和 JDK 的使用,让你在开发中事半功倍!
版权归原作者 一只蜗牛儿 所有, 如有侵权,请联系我们删除。