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

相关推荐
engchina3 小时前
WSL Ubuntu で Kubernetes v1.34.2 + Docker 環境を構築する
ubuntu·docker·kubernetes
JH30733 小时前
SpringBoot 优雅处理金额格式化:拦截器+自定义注解方案
java·spring boot·spring
qq_12498707536 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计
Coder_Boy_6 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
2301_818732067 小时前
前端调用控制层接口,进不去,报错415,类型不匹配
java·spring boot·spring·tomcat·intellij-idea
oMcLin7 小时前
2025年必备的Docker命令指南与实战示例
docker·容器·eureka
AtoposのCX3307 小时前
Docker运行hello-world镜像失败或超时
运维·docker
sun cat7 小时前
Docker详细介绍(6)
docker·容器·docker-compose
汤姆yu10 小时前
基于springboot的尿毒症健康管理系统
java·spring boot·后端
暮色妖娆丶10 小时前
Spring 源码分析 单例 Bean 的创建过程
spring boot·后端·spring