• Java 入门指南:使用 Docker 创建容器化 Spring Boot 应用程序


    Alt

    🎈个人主页:程序员 小侯
    🎐CSDN新晋作者
    🎉欢迎 👍点赞✍评论⭐收藏
    ✨收录专栏:大数据系列
    ✨文章内容:Docker 创建 Spring Boot 应用程序
    🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗

    Docker 已经成为现代应用程序开发和部署的不可或缺的一部分。它使开发人员能够在不同环境中轻松部署应用程序,确保一致性和可重复性。本入门指南将教您如何使用 Docker 容器化一个简单的 Spring Boot 应用程序。您将学习如何使用 Maven 克隆和运行 Spring Boot 应用程序,创建一个包含构建 Java 映像所需指令的新 Dockerfile,将生成的映像作为容器运行,设置本地开发环境以连接到容器中的数据库,并使用 Docker Compose 运行 Spring Boot 应用程序。最后,我们还将使用 GitHub Actions 配置 CI/CD 管道以自动化构建和部署您的应用程序。

    步骤 1: 准备工作

    在开始之前,确保您已经安装了以下工具:

    • Docker:您需要在本地系统上安装 Docker。您可以从 Docker 官方网站 下载适合您操作系统的版本。

    • Maven:如果您尚未安装 Maven,可以在 Maven 官方网站 上找到安装说明。

    • Java 开发工具:您需要一个 Java 集成开发环境(IDE),如 Eclipse、IntelliJ IDEA 或 Visual Studio Code。

    步骤 2: 克隆 Spring Boot 应用程序

    首先,我们需要获取一个 Spring Boot 应用程序的源代码,以便后续容器化操作。您可以使用 Git 克隆一个示例项目,也可以使用您自己的 Spring Boot 项目。

    # 使用 Git 克隆示例 Spring Boot 项目
    git clone https://github.com/spring-projects/spring-petclinic.git
    cd spring-petclinic
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    步骤 3: 创建 Dockerfile

    接下来,我们需要创建一个 Dockerfile,其中包含了构建 Java 映像所需的指令。在 Spring Boot 项目的根目录下创建一个名为 Dockerfile 的文件,并将以下内容添加到其中:

    # 使用官方的 OpenJDK 11 基础映像
    FROM openjdk:11-jre-slim
    
    # 在容器中创建一个目录来存放应用程序文件
    RUN mkdir /app
    
    # 复制应用程序 JAR 文件到容器中的 /app 目录
    COPY target/*.jar /app/app.jar
    
    # 指定容器启动时要执行的命令
    CMD ["java", "-jar", "/app/app.jar"]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    这个 Dockerfile 基于官方的 OpenJDK 11 基础映像,将 Spring Boot 应用程序的 JAR 文件复制到容器中,并定义了容器启动时要执行的命令。
    在这里插入图片描述

    步骤 4: 构建 Docker 映像

    现在,我们可以使用 Docker 命令构建我们的 Docker 映像。在 Spring Boot 项目的根目录中执行以下命令:

    docker build -t spring-boot-app .
    
    • 1

    这将使用我们的 Dockerfile 构建一个名为 spring-boot-app 的 Docker 映像。确保在命令后面有一个 .,表示使用当前目录中的 Dockerfile。
    在这里插入图片描述

    步骤 5: 运行容器

    一旦 Docker 映像构建完成,我们可以使用 Docker 运行容器。在命令行中执行以下命令:

    docker run -p 8080:8080 spring-boot-app
    
    • 1

    这将在容器内运行我们的 Spring Boot 应用程序,并将容器的端口 8080 映射到主机的端口 8080。您可以通过浏览器访问 http://localhost:8080 来查看应用程序是否正常运行。

    步骤 6: 链接到本地数据库

    通常情况下,应用程序需要与数据库进行交互。

    在容器化环境中,您可以链接到本地数据库或使用容器化的数据库。

    如果您希望链接到本地数据库,请确保您的 Spring Boot 应用程序的配置文件中已经正确配置了数据库连接信息。容器内的应用程序可以访问主机上的本地数据库,因为它们共享相同的网络。

    步骤 7: 使用 Docker Compose 运行多个容器

    在实际应用中,通常需要多个容器来支持不同的服务和组件。Docker Compose 是一个用于定义和运行多个 Docker 容器的工具。

    您可以创建一个名为 docker-compose.yml 的 Docker Compose 配置文件,其中定义了应用程序的各个服务、网络和卷。以下是一个示例 docker-compose.yml 文件:

    version: '3'
    services:
      app:
        build: .
        ports:
          - "8080:8080"
      database:
        image: mysql:latest
        environment:
          MYSQL_ROOT_PASSWORD: password
          MYSQL_DATABASE: mydb
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    这个示例使用 Docker Compose 同时运行我们的 Spring Boot 应用程序和一个 MySQL 数据库容器。
    在这里插入图片描述

    步骤 8: 设置 CI/CD 管道

    最后,为了自动化构建和部署您的应用程序,您可以使用 CI/CD 管道。GitHub Actions 是一个流行的 CI/CD 工具,可以与 Docker 结合使用,以实现持续集成和持续交付。

    通过在项目的 GitHub 存储库中配置 GitHub Actions,您可以设置自动构建 Docker 映像、运行测试、部署应用程序到生产环境等任务。
    在这里插入图片描述

    结论

    Docker 提供了一种强大的方式来容器化应用程序,使其在不同环境中运行一致性和可重复性。本指南介绍了如何将一个简单的 Spring Boot 应用程序容器化,以及如何使用 Docker Compose 运行多个容器来支持应用程序的不同服务。此外,GitHub Actions 的集成使自动化构建和部署变得更加容易。希望这个指南对您的 Docker 容器化旅程有所帮助,让您更轻松地管理和部署应用程序。

    后记 👉👉💕💕美好的一天,到此结束,下次继续努力!欲知后续,请看下回分解,写作不易,感谢大家的支持!! 🌹🌹🌹

  • 相关阅读:
    【多线程】线程安全(重点)
    java毕业生设计学生选课系统计算机源码+系统+mysql+调试部署+lw
    事务介绍和事务处理
    菲律宾外汇储备降至两年来的最低水平
    最受欢迎的国际棒球锦标赛·棒球7号位
    HTML网页设计——轮滑运动体育类人物介绍主题12页面毕业设计网页
    VMware vSphere 中的 DRS(分布式资源调度)、HA(高可用性)和Fault Tolerance(FT,容错)区别
    基于3D卷积的图像序列特征提取与自注意力的车牌识别方法
    Eolink 通过可信云权威认证,数据保护能力业内领先!
    LeetCode刷题(3)
  • 原文地址:https://blog.csdn.net/weixin_65175398/article/details/134089333