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

2023-10-26 14:01:36 浏览数 (2)

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

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

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

设置 Spring Boot 应用程序

步骤 1:

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

步骤 2:

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

步骤 3:

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

步骤 4:

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

代码语言: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

步骤 7:

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

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

Docker 化我们的应用程序

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

代码语言:javascript复制
$ ./mvnw clean package

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

代码语言:javascript复制
$ touch Dockerfile

将以下内容粘贴到 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]

  • -t:图像的名称和标签
  • . :构建过程的上下文

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

通过运行创建一个 docker 容器

代码语言:javascript复制
$ docker run -d -p [host_port]:[container_port] –name [container_name] [image_id/image_tag]
代码语言:javascript复制
$ docker container ps
  • -d:运行容器,同时打印容器ID。
  • -p:为我们的容器映射端口
  • –name:为容器指定名称

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

代码语言:javascript复制
$ docker container ps

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

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

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

0 人点赞