拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 Docker 化Java 应用程序

Docker 化Java 应用程序

白鹭 - 2022-08-08 2286 0 2

一、概述

在本文中,我们将展示如何Dockerize 一个Java 可运行的基于jar 的应用程序请阅读使用Docker 的好处

2. 构建Runnable jar

我们将使用Maven 构建一个可运行的jar。

所以,我们的应用程序有一个简单的类HelloWorld.java,它有一个main方法:

public class HelloWorld {
public static void main(String[] args){
System.out.println("Welcome to our application");
}
}

我们正在使用maven-jar-plugin生成一个可运行的jar:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven-jar-plugin.version}</version>
<configuration>
<archive>
<manifest>
<mainClass>com.baeldung.HelloWorld</mainClass>
</manifest>
</archive>
</configuration>
</plugin>

3. 编写Dockerfile

让我们在Dockerfile 中编写Dockerfile可运行jar 的步骤。Dockerfile位于build context的根目录中:

FROM openjdk:11
MAINTAINER baeldung.com
COPY target/docker-java-jar-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

在这里,在第一行中,我们从他们的官方存储库导入OpenJDK Java 版本11 镜像作为我们的基础镜像。随着我们前进,后续行将在此基础图像上创建附加层

在第二行中,我们为我们的镜像指定维护者,在本例中为baeldung.com。此步骤不会创建任何其他图层。

在第三行中,我们通过将生成的jardocker-java-jar-0.0.1-SNAPSHOT.jarbuild contexttarget文件夹复制到名为app.jar的容器的root文件夹中来创建一个新层。app.jar

在最后一行,我们使用为该图像执行的统一命令指定主应用程序在这种情况下,我们使用java -jar命令告诉容器运行app.jar。此外,这条线没有引入任何额外的层。

4. 构建和测试图像

现在我们有了Dockerfile,让我们使用Maven 构建和打包我们的可运行jar:

mvn package

之后,让我们构建我们的Docker 镜像:

docker image build -t docker-java-jar:latest .

在这里,我们使用-t标志以**<name>:<tag>格式指定名称和标签**。在这种情况下,docker-java-jar是我们的镜像名称,标签是latest。这”。”表示我们的Dockerfile所在的路径。在此示例中,它只是当前目录。

注意:我们可以使用相同的名称和不同的标签构建不同的Docker 镜像。

最后,让我们从命令行运行我们的Docker 镜像:

docker run docker-java-jar:latest

上面的命令运行我们的Docker 镜像,通过<name>:<tag>格式的名称和标签来识别它。

4。结论

在本文中,我们看到了将可运行的Java jar Docker 化的步骤


标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *