使用 Docker Compose 部署 Spring Boot 应用
第一步:创建 Spring Boot 应用的 Dockerfile
-
在您的 Spring Boot 项目根目录中创建一个
Dockerfile
。 -
编辑
Dockerfile
,添加以下内容:Dockerfile# 基础镜像使用 OpenJDK FROM openjdk:11-jdk-slim # 维护者信息 LABEL maintainer="your-email@example.com" # 添加应用的 jar 文件 ADD target/spring-boot-application.jar app.jar # 暴露 8080 端口 EXPOSE 8080 # 容器启动时运行 Java 应用 ENTRYPOINT ["java", "-jar", "/app.jar"]
这个 Dockerfile 会构建一个包含您的 Spring Boot 应用的 Docker 镜像。
-
确保您的 Spring Boot 应用已经通过 Maven 或 Gradle 构建,生成了
target/spring-boot-application.jar
。
第二步:编写 docker-compose.yml 文件
-
在项目的根目录中创建一个
docker-compose.yml
文件。 -
编辑
docker-compose.yml
文件,添加以下内容:yamlversion: '3' services: app: build: . ports: - "8080:8080"
这个配置定义了一个服务
app
,它将根据您的 Dockerfile 构建镜像,并将容器的 8080 端口映射到主机的 8080 端口。
第三步:部署到服务器
- 将包含
Dockerfile
和docker-compose.yml
的项目目录上传到您的远程服务器。您可以使用scp
命令或其他文件传输方法。 - 在远程服务器上,确保已安装 Docker 和 Docker Compose。
第四步:使用 Docker Compose 运行服务
-
在远程服务器上的项目目录中,运行以下命令启动服务:
bashdocker-compose up -d
这会导致 Docker Compose 根据您的
docker-compose.yml
文件构建镜像(如果尚未构建)并在后台启动服务。 -
您的 Spring Boot 应用现在应该正在运行,并且可以通过服务器的 8080 端口访问。
结论
使用 Docker Compose 部署 Spring Boot 应用的过程相对直接。它不仅简化了部署流程,还为应用的扩展和维护提供了便利。这种方法特别适用于需要在生产环境中运行的复杂应用。