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

相关推荐
会飞的小蛮猪15 分钟前
K8s-1.29.2二进制安装-第一章
云原生·容器·kubernetes
一条可有可无的咸鱼32 分钟前
企业招聘信息,企业资讯进行公示
java·vue.js·spring boot·uni-app
程序员游老板2 小时前
基于SpringBoot3_vue3_MybatisPlus_Mysql_Maven的社区养老系统/养老院管理系统
java·spring boot·mysql·毕业设计·软件工程·信息与通信·毕设
专家大圣4 小时前
摆脱局域网束缚!Neko+cpolar 让跨网共享成日常
服务器·网络·docker·内网穿透·cpolar
Haooog4 小时前
Docker面试题(不定时更新)
java·docker·面试
q_19132846955 小时前
基于SpringBoot2+Vue2的行业知识答题考试系统
java·vue.js·spring boot·mysql·毕业设计·计算机毕业设计·演示文稿
树下水月5 小时前
docker 启动后 如何通过对应的进程 找docker-compose.yaml 编排文件
运维·docker·容器
凯子坚持 c5 小时前
Docker 网络管理深度解析与实践指南
运维·docker·容器
wxin_VXbishe5 小时前
springboot居家养老管理系统-计算机毕业设计源码55953
java·c++·spring boot·python·spring·django·php