您好,登录后才能下订单哦!
这篇文章将为大家详细讲解有关在SpringBoot中如何将Docker部署,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
Docker 是一个平台,使开发人员能够以容器化应用程序的形式开发、发布和执行应用程序。
它通过为您的应用程序创建一个轻量级的可执行包来实现这一点。此包包括应用程序代码以及应用程序运行所需的所有依赖项。依赖关系可以是环境变量、库、工具等。
这样的可执行包通常也称为映像。一个正在运行的镜像是一个容器。
Docker 本身就是一个庞大的话题。如果您想了解更多信息,我有一篇关于 Docker 基础知识的详细文章。
要为我们的 Spring Boot Docker 部署创建 Docker 映像,我们需要在项目的根目录中创建一个Dockerfile。
以下是典型 Spring Boot 应用程序的 Dockerfile 内容。
# Start with base image
FROM openjdk:8-jdk-alpine
# Add Maintainer Info
LABEL maintainer="Progressive Coder"
# Add a temporary volume
VOLUME /tmp
# Expose Port 8080
EXPOSE 8080
# Application Jar File
ARG JAR_FILE=target/spring-boot-starter-0.0.1-SNAPSHOT.jar
# Add Application Jar File to the Container
ADD ${JAR_FILE} spring-boot-starter.jar
# Run the JAR file
ENTRYPOINT ["java", "-jar", "/spring-boot-starter.jar"]
让我们来看看 Dockerfile 中的每一步。
FROM: 此语句用于表示我们的新 Docker 映像将使用的基本映像。在上面的示例中,我们使用了OpenJDK 8映像。这是运行 Java 应用程序的一个非常轻量级的选项。
LABEL:此指令用于向图像添加某种类型的元数据。在这种情况下,我们添加了名为MAINTAINER的元数据。
VOLUME:Volume 指令在容器中创建一个挂载点。您还可以将挂载点映射到主机操作系统上的目录。卷的典型用例是存储由我们的应用程序生成的日志文件。
EXPOSE:这是一条重要的指令。它允许我们向外界公开特定的端口。在我们的示例中,我们公开端口 8080。
ARG:该指令用于定义一个具有默认值的变量。在我们的例子中,我们将它设置为 JAR 文件的位置。
添加:在本指令中,我们基本上是将文件和目录复制到我们的 docker 镜像。
ENTRYPOINT:最后但并非最不重要的是,ENTRYPOINT 是您配置应如何执行应用程序的地方。在我们的例子中,我们指定了如何运行 JAR 文件。
现在是创建 Docker 镜像的时候了。为此,我们需要在 Spring Boot 项目区域中准备好 JAR 文件。
要创建 JAR 文件,请执行以下命令。
mvn clean package
现在要构建 Dockerfile,需要运行以下命令:
docker build -t spring-boot-starter .
执行此命令后,您将能够看到正在构建的映像。如果您执行以下命令,您可以看到图像列表:
docker image ls
现在镜像已成功构建,您可以使用Docker Run命令运行 Docker 镜像。
docker run spring-boot-starter
基本上,我们要求 Docker 运行标记为spring-boot-starter的镜像。换句话说,这就是我们在这篇文章中一直针对的 Spring Boot Docker 部署。
这将创建一个容器,应用程序将开始运行。要查看当前运行的容器列表,您可以使用以下命令:
docker ps
可以通过http://localhost:8080访问该应用程序
您还可以通过发出以下命令来运行容器来更改容器的端口。
docker run -p 5000:8080 spring-boot-starter
基本上,这里的 5000 是主机操作系统上的端口。我们将容器上的端口 8080 映射到主机操作系统上的端口 5000。
如果你想停止正在运行的容器,你可以按CTRL + C。
关于“在SpringBoot中如何将Docker部署”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。