码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • IDEA 集成 Docker 插件一键部署 SpringBoot 应用


    目录

    • 前言
    • IDEA 安装 Docker 插件
    • 配置 Docker 远程服务器
    • 编写 DockerFile
    • SpringBoot 项目部署配置
    • 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化部署,为现代软件开发提供更便捷的解决方案。

  • 相关阅读:
    含文档+PPT+源码等]精品微信小程序网上商城|电商+后台管理系统|前后分离VUE[包运行成功]微信小程序项目源码Java毕业设计
    嵌入式C 语言中的三块技术难点
    antd pro form 数组套数组 form数组动态赋值 shouldUpdate 使用
    Cadence的网格生成工具Pointwise 2023.2.3版本在Windows系统上的安装配置
    BeanFactory版本的快速入门
    史上最全大厂面试题复盘总结,全会进大厂拿35K没问题(Java岗)
    session共享(redis实现)
    华为机试真题 C++ 实现【流水线调度】
    精通Nginx(08)-反向代理
    Python内置函数enumerate操作可迭代对象及for迭代
  • 原文地址:https://blog.csdn.net/u013737132/article/details/134472792
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号