要将 Spring Boot 应用程序修改为使用 Docker 进行构建,你需要进行以下步骤:
1. 在项目的根目录下创建一个名为 `Dockerfile` 的文件,并使用文本编辑器打开它。
2. 编写 Dockerfile 配置。根据你的项目结构,可以按照以下示例进行配置:
```dockerfile
# 基础镜像
FROM maven:3.8.3-openjdk-11-slim AS build
# 设置工作目录
WORKDIR /app
# 复制项目的 pom.xml 文件到容器中
COPY pom.xml .
# 构建项目依赖
RUN mvn dependency:go-offline
# 复制整个项目到容器中
COPY . .
# 执行 Maven 构建
RUN mvn package -DskipTests
# 设置基础镜像为 OpenJDK
FROM openjdk:11-jre-slim
# 设置工作目录
WORKDIR /app
# 从之前的构建阶段复制构建好的 JAR 文件到镜像中
COPY --from=build /app/target/my-application.jar my-application.jar
# 设置容器启动命令
CMD ["java", "-jar", "my-application.jar"]
```
在上面的示例中,我们首先使用 Maven 镜像作为构建阶段,设置工作目录为 `/app`,并复制项目的 `pom.xml` 文件到容器中。然后运行 `mvn dependency:go-offline` 命令来构建项目的依赖。接着将整个项目复制到容器中,并执行 `mvn package -DskipTests` 命令构建项目的可执行 JAR 文件。
在第二个阶段,我们使用 OpenJDK 镜像作为基础镜像,设置工作目录为 `/app`,然后从之前的构建阶段复制构建好的 JAR 文件到镜像中,并设置容器的启动命令为执行该 JAR 文件。
3. 使用以下命令来构建 Docker 镜像:
```bash
docker build -t my-application .
```
上述命令会在当前目录下构建一个名为 `my-application` 的 Docker 镜像,基于 Dockerfile 文件中的配置进行构建。
4. 运行 Docker 容器:
```bash
docker run -p 8080:8080 my-application
```
上述命令会基于构建好的镜像运行一个名为 `my-application` 的容器,并将容器的 8080 端口映射到宿主机的 8080 端口。这样,你就可以通过访问 `http://localhost:8080` 来访问你的 Spring Boot 应用程序了。
请根据你的实际项目结构和需求进行适当的修改和调整。使用 Docker 构建可以简化应用程序的部署和维护,并提供了环境隔离和可移植性。