前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化

如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化

作者头像
用户1418987
发布2023-10-26 14:01:36
2960
发布2023-10-26 14:01:36
举报
文章被收录于专栏:coder

如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化

Docker 是一个开源容器化平台,用于在隔离环境中构建、运行和管理应用程序。容器与另一个容器隔离,并捆绑其软件、库和配置文件。在本文中,我们将讨论如何对 Spring Boot 应用程序进行 dockerize 以进行部署。

先决条件:在继续之前,请确保您的计算机上已安装 Node 和 docker。

设置 Spring Boot 应用程序

步骤 1:

使用 https://start.spring.io 创建骨架应用程序。

步骤 2:

现在使用以下配置创建一个maven项目。输入所有详细信息后,单击“生成”按钮下载项目。

如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_spring
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_spring

步骤 3:

解压压缩文件并在您选择的 IDE 中打开它。

如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_应用程序_02
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_应用程序_02
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_spring_03
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_spring_03

步骤 4:

打开项目的基础java文件,并将新的控制器添加到应用程序的基类中。

如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_应用程序_04
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_应用程序_04
代码语言:javascript
复制
@RequestMapping("/")
public String home() {
    return "Dockerizing Spring Boot Application";
}

步骤 5:

现在,添加RestController注释并导入所需的包。最后,您的 Application.java 文件应该如下所示。

代码语言:javascript
复制
package com.docker.spring; 

import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RestController; 

@SpringBootApplication
@RestController
public class Application { 

	@RequestMapping("/") 
	public String home() { 
		return "Dockerizing Spring Boot Application"; 
	} 

	public static void main(String[] args) { 
		SpringApplication.run(Application.class, args); 
	} 

}

步骤 6:

现在通过运行以下命令启动应用程序 

代码语言:javascript
复制
$ ./mvnw spring-boot:run
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_spring_05
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_spring_05
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_应用程序_06
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_应用程序_06

步骤 7:

导航到 http://localhost:8080 来测试应用程序

如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_应用程序_07
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_应用程序_07

项目结构:此时项目结构应如下所示:

如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_应用程序_08
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_应用程序_08

Docker 化我们的应用程序

现在使用 Maven 生成器创建一个新的 jar 文件。

代码语言:javascript
复制
$ ./mvnw clean package
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_spring_09
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_spring_09
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_docker_10
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_docker_10

在我们项目的根目录下创建一个新的 Dockerfile

代码语言:javascript
复制
$ touch Dockerfile
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_spring_11
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_spring_11

将以下内容粘贴到 Dockerfile 中

代码语言:javascript
复制
# Fetching latest version of Java
FROM openjdk:18
 
# Setting up work directory
WORKDIR /app

# Copy the jar file into our app
COPY ./target/spring-0.0.1-SNAPSHOT.jar /app

# Exposing port 8080
EXPOSE 8080

# Starting the application
CMD ["java", "-jar", "spring-0.0.1-SNAPSHOT.jar"]

现在使用 docker build 命令创建 docker 镜像

$ docker run -d -p [host_port]:[container_port] –name [container_name] [image_id/image_tag]

如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_spring_12
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_spring_12
  • -t:图像的名称和标签
  • . :构建过程的上下文

构建过程完成后,您将收到新映像的 ID 和标签。

如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_docker_13
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_docker_13

通过运行创建一个 docker 容器

代码语言:javascript
复制
$ docker run -d -p [host_port]:[container_port] –name [container_name] [image_id/image_tag]
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_spring_14
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_spring_14
代码语言:javascript
复制
$ docker container ps
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_spring_15
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_spring_15
  • -d:运行容器,同时打印容器ID。
  • -p:为我们的容器映射端口
  • –name:为容器指定名称

通过运行验证容器是否创建成功

代码语言:javascript
复制
$ docker container ps
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_spring_16
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_spring_16

项目结构:这就是项目结构此时应呈现的样子。

如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_docker_17
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_docker_17

在浏览器中导航到 http://localhost:8080/ 以查看 Spring Boot 应用程序。

如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_spring_18
如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化_spring_18

注意:如果在执行上述步骤时遇到任何问题,可以参考 docker 官网链接相关的命令,

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何使用 Maven 对 Spring Boot 应用程序进行 Docker 化
  • 设置 Spring Boot 应用程序
    • 步骤 1:
      • 步骤 2:
        • 步骤 3:
          • 步骤 4:
            • 步骤 5:
              • 步骤 6:
                • 步骤 7:
                  • Docker 化我们的应用程序
                  相关产品与服务
                  容器镜像服务
                  容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档