温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

在SpringBoot中如何将Docker部署

发布时间:2022-02-25 15:08:54 来源:亿速云 阅读:161 作者:小新 栏目:开发技术

这篇文章将为大家详细讲解有关在SpringBoot中如何将Docker部署,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

什么是 Docker?

Docker 是一个平台,使开发人员能够以容器化应用程序的形式开发、发布和执行应用程序。

它通过为您的应用程序创建一个轻量级的可执行包来实现这一点。此包包括应用程序代码以及应用程序运行所需的所有依赖项。依赖关系可以是环境变量、库、工具等。

这样的可执行包通常也称为映像。一个正在运行的镜像是一个容器。

Docker 本身就是一个庞大的话题。如果您想了解更多信息,我有一篇关于 Docker 基础知识的详细文章。

使用 Dockerfile 定义 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 镜像

现在是创建 Docker 镜像的时候了。为此,我们需要在 Spring Boot 项目区域中准备好 JAR 文件。

要创建 JAR 文件,请执行以下命令。

mvn clean package

现在要构建 Dockerfile,需要运行以下命令:

docker build -t spring-boot-starter .

执行此命令后,您将能够看到正在构建的映像。如果您执行以下命令,您可以看到图像列表:

docker image ls

运行 Docker 镜像

现在镜像已成功构建,您可以使用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部署”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI