• IDEA 集成 Docker 插件一键部署 SpringBoot 应用


    前言

    随着容器化技术的崛起,Docker成为了现代软件开发的关键工具。在Java开发中,Spring Boot是一款备受青睐的框架,然而,将其快速部署到Docker容器中一直是个挑战。本文将介绍一种简便的方法,通过IDEA集成Docker插件,实现Spring Boot应用的一键部署,为开发者提供更便捷的开发和部署体验。

    IDEA 安装 Docker 插件

    IDEA菜单栏File → Settings → Plugins 插件市场搜索 Docker 安装并重启IDEA

    在这里插入图片描述

    配置 Docker 远程服务器

    IDEA菜单栏File → Settings → Build,Execution,Deployment → Docker 配置远程服务器的连接信息

    第4步添加远程服务器通过 SSH 方式连接,只要输入目标服务器主机名、用户名和密码,测试连接成功即可。

    编写 DockerFile

    在项目根目录下创建一个名为 Dockerfile 的文件,以构建 Docker 镜像。

    youlai-boot 项目为例,以下是一个针对 Spring Boot 单体应用的配置示例:

    # 基础镜像
    FROM openjdk:17-jdk-alpine
    
    # 维护者信息
    MAINTAINER youlai 
    
    # 时区修改
    RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
    
    # 修改 Alpine Linux 的软件包源为国内镜像源(这里使用了中国科技大学的镜像源)
    RUN echo -e https://mirrors.ustc.edu.cn/alpine/v3.7/main/ > /etc/apk/repositories
    
    # 安装 DejaVu 字体和 fontconfig,可用于支持中文等字体渲染
    RUN apk --no-cache add ttf-dejavu fontconfig
    
    # 在运行时自动挂载 /tmp 目录为匿名卷,提高可移植性
    VOLUME /tmp
    
    # 将构建的 Spring Boot 可执行 JAR 复制到容器中,重命名为 app.jar
    ADD target/youlai-boot.jar app.jar
    
    # 指定容器启动时执行的命令
    CMD java \
        -Djava.security.egd=file:/dev/./urandom \
        -jar /app.jar
    
    # 暴露容器的端口
    EXPOSE 8989
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    在这里插入图片描述

    SpringBoot 项目部署配置

    IDEA 顶部打开 Edit Configurations 打开 Run/Debug Configurations 界面

    在这里插入图片描述

    选择 Dockerfile

    [外链图片转存中…(img-MbyquFc0-1700241589122)]

    项目部署配置

    image-20231118003354547

    SpringBoot 项目部署

    部署配置完成之后,选择配置点击启动将会自动完成: 项目编译 + 打包 + 制作Docker 镜像 + 推送镜像至远程服务器 + 启动容器应用

    在这里插入图片描述

    启动成功

    image-20231118011231744

    访问 http://ip:port/doc.html 接口文档测试部署是否成功。

    image-20231118011519269

    结语

    容器化技术的普及为开发者提供了更高效、一致的部署方式。通过本文介绍的方法,我们期望能帮助开发者更轻松地在IDEA中实现Spring Boot应用的Docker化部署,为现代软件开发提供更便捷的解决方案。

  • 相关阅读:
    8种超简单的Golang生成随机字符串方式
    Yii使用queue实现队列
    深入了解Python变量:从基础到高级
    1538_AURIX_TriCore内核架构_地址映射以及存储配置
    在idea中配置tomcat服务器,然后部署一个项日
    (八)Spring源码解析:Spring MVC
    Web通用漏洞--sql注入
    切比雪夫不等式
    气球派对服务小程序商城的效果是什么
    注释之重——程序员与代码可维护性
  • 原文地址:https://blog.csdn.net/u013737132/article/details/134472792