在Docker容器内使用Java


Java是目前最流行的企业级语言之一。它是面向对象编程的核心,并拥有构建企业级应用程序和测试平台的强大平台。对于新手来说,安装和适应Java环境最初可能需要一些时间。

Docker容器允许您在其中访问Java运行时环境,从而提供易于管理的打包环境,其中已安装库。如果您在本地机器上安装了Docker,则无需运行Java应用程序并经历所有繁琐的过程,您可以通过Docker注册表直接提取Java镜像来轻松构建Java镜像,并可以通过简单易行的步骤直接在容器提供的环境中运行Java应用程序。

在本文中,我们将讨论运行Docker容器内Java应用程序所需遵循的所有步骤。主要有两种方法可以在Docker容器内使用和运行Java应用程序。

  • 您可以创建和构建自定义镜像,并使用apt-get命令分别在Dockerfile中指定它们来安装Java。

  • 您可以直接从Docker注册表提取官方Java镜像,并在其中直接运行您的Java应用程序。

我们将使用更容易的第二种方法。让我们一步一步地完成这个过程。

创建构建上下文以存储Dockerfile和Java应用程序

首先,您需要创建一个Docker构建上下文,其中包含您的Dockerfile和Java应用程序。

mkdir my−java−app

创建Java应用程序

您可以在扩展名为.java的文件中创建一个简单的Java应用程序。请参考下面存储在名为“tutorialspoint.java”的文件中的代码片段,该文件位于我们在上述步骤中创建的“my−java−app”目录中。

import java.utils.*;

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

创建一个Dockerfile来构建镜像

创建一个名为“dockerfile”的文件。将下面的指令包含在文件中,并将其保存到已经包含Java应用程序的“my−java−app”目录中。

#Pull the Java base image
FROM java:8

#Set the working directory
WORKDIR /var/www/java

#Copy the build context
COPY . /var/www/java

#Compile the Java application
RUN javac tutorialspoint.java

#Run the executable
CMD ["java", "Hello"]

上面的Dockerfile指定了创建Java镜像并在与该镜像关联的Docker容器内运行我们的应用程序所需的所有指令。它从Docker注册表提取Java 8镜像并设置工作目录。然后,它复制包含我们的Java应用程序的Docker构建上下文。然后,它使用javac命令编译Java应用程序,最后使用CMD命令运行编译后创建的可执行文件。

构建Docker镜像

创建Dockerfile后,您可以使用以下构建命令来构建Docker镜像。

sudo docker build −t <image−name> .

执行上述命令后,它将成功构建Docker镜像。

运行Docker容器

您现在可以使用Docker run命令来创建与上述镜像关联的Docker容器,并在Docker容器内运行您的Java应用程序。

sudo docker run <image−name>

总而言之,创建一个完美的Java运行时环境来执行所有Java应用程序可能是一项艰巨的任务。幸运的是,Docker提供了预构建的Java镜像,您可以轻松地从Docker注册表中提取这些镜像,并立即开始构建您的Java应用程序。您还可以扩展它来创建一个Spring环境和所有其他Java企业平台,并可以大规模地处理Java应用程序。Docker容器提供了一个封闭的环境来管理所有应用程序,而无需担心版本控制、项目管理、资源管理等。

在本文中,我们讨论了如何从Docker注册表中提取官方Java镜像,创建Dockerfile来运行我们的Java应用程序,使用Docker build和run命令来构建镜像,编译和执行应用程序。

更新于:2020年10月27日

2K+ 浏览量

开启你的职业生涯

完成课程获得认证

开始学习
广告