Docker 容器中运行 Java 应用程序的详细步骤

阅读时长 5 分钟读完

简介

随着云计算和微服务的发展,Docker 已经变成了比较流行的容器化解决方案。Docker 的诞生和发展,极大地改善了软件开发和发布的方式,使其变得更加高效和可靠。本文将详细介绍如何在 Docker 容器中运行 Java 应用程序。

Docker 容器

Docker 容器可以理解为一种轻量级的虚拟化技术。与传统的虚拟机技术不同,Docker 容器不需要为每个应用程序分配一个完整的虚拟操作系统。相反,Docker 容器共享宿主机的系统内核,所以容器相对于虚拟机来说更轻量级和高效。

Java 应用程序

在 Docker 容器中运行 Java 应用程序需要准备好 Java 环境和应用程序本身。Java 环境包括 Java JDK 和 JRE 等组件,应用程序需要被打包成 JAR 文件和依赖项。

运行 Java 应用程序

以下是在 Docker 容器中运行 Java 应用程序的详细步骤:

1. 创建 Dockerfile

首先需要创建 Dockerfile 文件,定义 Docker 容器的构建过程。Dockerfile 文件包含一系列命令,用于构建自定义 Docker 镜像,其中包括从 Docker Hub 中获取基础镜像、安装 Java 和设置环境等操作。

上述 Dockerfile 文件中基于 Alpine Linux 发布的 OpenJDK 8 镜像作为基础镜像。接下来,将目标 JAR 文件复制到 Docker 容器中的 /usr/app 目录,并设置该目录为工作目录。最后,定义 ENTRYPOINT 命令,指定容器启动时需要执行的命令。

2. 构建 Docker 镜像

使用以下命令构建自定义 Docker 镜像:

-t 参数用于指定 Docker 镜像名称,. 表示 Dockerfile 文件当前所在目录。

3. 运行 Docker 容器

使用以下命令在 Docker 容器中运行 Java 应用程序:

-p 参数用于指定端口映射,将容器内部的 8080 端口映射到宿主机的 8080 端口。my-java-app 表示需要运行的 Docker 镜像名称。

示例

下面以一个简单的 Spring Boot 应用程序为例,演示如何在 Docker 容器中运行 Java 应用程序。

1. 创建 Spring Boot 应用程序

首先需要创建一个 Spring Boot 应用程序,代码如下:

-- -------------------- ---- -------
----------------------
---------------
------ ----- ------------- -

    ----------------
    ------ ------ ------ -
        ------ ------ ------ --------
    -

    ------ ------ ---- ------------- ----- -
        ------------------------------------------ ------
    -

-

在该应用程序中,定义了一个根路径的 GET 请求处理方法,返回字符串 "Hello Docker World!"。

2. 构建应用程序

使用以下命令构建应用程序:

执行该命令后,将在 target 目录下生成一个名为 myapp.jar 的可运行 JAR 文件。该 JAR 文件包含了应用程序所有的依赖项,可以直接在 Docker 容器中运行。

2. 创建 Dockerfile 文件

在应用程序根目录下创建 Dockerfile 文件,文件内容如下:

3. 构建 Docker 镜像

执行以下命令构建自定义 Docker 镜像:

执行该命令后,将会创建一个名为 my-java-app 的 Docker 镜像。

4. 运行 Docker 容器

使用以下命令运行 Docker 容器:

启动容器后,使用浏览器访问 http://localhost:8080/ 地址,在浏览器中将显示 "Hello Docker World!" 字符串。

结论

本文介绍了在 Docker 容器中运行 Java 应用程序的详细步骤,包括创建 Dockerfile 文件、构建自定义 Docker 镜像和运行 Docker 容器等。通过上述步骤,可以在 Docker 容器中高效地运行 Java 应用程序。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/671c9aca9babaf620fb187cc

纠错
反馈