使用 Docker Compose 部署 Spring Boot 应用

使用 Docker Compose 部署 Spring Boot 应用

第一步:创建 Spring Boot 应用的 Dockerfile

  1. 在您的 Spring Boot 项目根目录中创建一个 Dockerfile

  2. 编辑 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 镜像。

  3. 确保您的 Spring Boot 应用已经通过 Maven 或 Gradle 构建,生成了 target/spring-boot-application.jar

第二步:编写 docker-compose.yml 文件

  1. 在项目的根目录中创建一个 docker-compose.yml 文件。

  2. 编辑 docker-compose.yml 文件,添加以下内容:

    yaml 复制代码
    version: '3'
    services:
      app:
        build: .
        ports:
          - "8080:8080"

    这个配置定义了一个服务 app,它将根据您的 Dockerfile 构建镜像,并将容器的 8080 端口映射到主机的 8080 端口。

第三步:部署到服务器

  1. 将包含 Dockerfiledocker-compose.yml 的项目目录上传到您的远程服务器。您可以使用 scp 命令或其他文件传输方法。
  2. 在远程服务器上,确保已安装 Docker 和 Docker Compose。

第四步:使用 Docker Compose 运行服务

  1. 在远程服务器上的项目目录中,运行以下命令启动服务:

    bash 复制代码
    docker-compose up -d

    这会导致 Docker Compose 根据您的 docker-compose.yml 文件构建镜像(如果尚未构建)并在后台启动服务。

  2. 您的 Spring Boot 应用现在应该正在运行,并且可以通过服务器的 8080 端口访问。

结论

使用 Docker Compose 部署 Spring Boot 应用的过程相对直接。它不仅简化了部署流程,还为应用的扩展和维护提供了便利。这种方法特别适用于需要在生产环境中运行的复杂应用。

相关推荐
jay神6 小时前
【计算机毕业设计】基于SpringBoot的程序教学辅助系统
java·前端·vue.js·spring boot·后端·毕业设计·课程设计
报错小能手7 小时前
Kubernetes入门实战课 3
云原生·容器·kubernetes
小张同学a.8 小时前
Docker 容器实战 1—— docker 基础与镜像构建
linux·运维·docker·容器
NJCloud10 小时前
Docker 容器技术入门:部署、核心概念与基础命令
运维·docker·容器
2601_9620723310 小时前
docker自建rustdesk-server远程桌面
运维·docker·容器
谢亮_vipxieliang10 小时前
ValidX分组验证详解:不同场景使用不同验证规则
java·spring boot·后端·spring cloud·eclipse·hibernate
pnoker11 小时前
从零部署 IoT DC3:四步快速启动实录
物联网·docker·部署
虎王物联11 小时前
RK3568嵌入式Linux跑Docker:内核配置排查到AIoT容器化的完整路径
linux·运维·docker·rk3568·aiot·嵌入式linux
凤山老林11 小时前
Spring Boot 集成 Spring Vault:集中式密钥管理与动态凭证轮换
spring boot·后端·spring·vault·集中式秘钥管理
2601_9620711711 小时前
八. Spring Boot2 整合连接 Redis(超详细剖析)
spring boot·redis·后端