如何使用 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
文件应该如下所示。
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
。
$ 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
官网链接相关的命令,