📜  tutorialedge 使用 docker - Java (1)

📅  最后修改于: 2023-12-03 15:05:38.450000             🧑  作者: Mango

TutorialEdge 使用 Docker - Java

简介

Docker 是一个开源的项目,目的是为了帮助更容易的创建、打包、部署和运行应用程序。Docker 提供一种将应用程序与所依赖的基础设施进行分离的方式,从而实现应用程序在不同环境中进行快速移植。

Java 是一种广泛使用的编程语言,常被用于构建 Web 应用程序和后端服务。Docker 可以用来构建和运行 Java 应用程序。

在本教程中,我们将使用 Docker 来构建和部署一个简单的 Java Web 应用程序。

前提条件

在开始本教程之前,有一些前提条件需要满足:

  • 已经安装了 Docker 和 Docker Compose
  • 已经安装了 Java 开发环境
  • 已经熟悉了基本的 Docker 和 Java 概念
部署一个简单的 Java Web 应用程序

首先,我们需要一个简单的 Java Web 应用程序。在此,我们选择一个 HelloWorld 程序,代码如下:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

将上述代码保存为 HelloWorld.java,并使用下面的命令来编译该程序:

javac HelloWorld.java

现在我们已经有了一个 HelloWorld.class 文件,我们可以将其打包为一个 JAR 文件:

jar cvf HelloWorld.jar HelloWorld.class

接下来,我们需要编写一个 Dockerfile,用来构建 Docker 镜像并运行该应用程序。在此,我们使用 OpenJDK 作为基础镜像,代码如下:

FROM openjdk:8-jdk-alpine
COPY HelloWorld.jar HelloWorld.jar
CMD ["java", "-jar", "HelloWorld.jar"]

该 Dockerfile 从 Docker Hub 拉取一个名为 openjdk:8-jdk-alpine 的镜像,并将 HelloWorld.jar 文件复制到容器中。然后,它使用 CMD 命令来运行 JAR 文件。

接下来,使用下面的命令来构建 Docker 镜像:

docker build -t helloworld .

-t 选项用于指定镜像名,例如 helloworld。

现在,使用下面的命令来运行该容器:

docker run helloworld

我们应该看到输出 "Hello World!"。

使用 Docker Compose

Docker Compose 是一个用于定义和运行多个 Docker 容器的工具。在此,我们将使用 Docker Compose 来管理我们的应用程序。

首先,创建一个名为 docker-compose.yml 的文件,并在该文件中添加以下内容:

version: "3"
services:
  app:
    build: .
    ports:
      - "8080:8080"

该文件指定了一个名为 app 的服务,并使用当前目录中的 Dockerfile 来构建镜像。

然后,我们将该应用程序绑定到主机上的 8080 端口。

接下来,使用下面的命令来启动该服务:

docker-compose up

我们应该看到类似于以下输出:

Starting tutorialedge_app_1 ... done
Attaching to tutorialedge_app_1
app_1  | Hello World!
tutorialedge_app_1 exited with code 0

现在,我们可以使用浏览器访问 http://localhost:8080,我们应该看到输出 "Hello World!"。

结论

在本教程中,我们介绍了如何使用 Docker 和 Docker Compose 来构建和运行 Java Web 应用程序。

参考