最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何用IDEA+Docker一鍵部署項目SpringBoot項目

 更新時間:2025年12月05日 09:24:28   作者:e***v356  
IDEA作為主流的Java開發(fā)環(huán)境,通過集成Docker插件,能夠極大地簡化從代碼編寫到容器鏡像構建、上傳及部署的整個流程,這篇文章主要介紹了如何用IDEA+Docker一鍵部署項目SpringBoot項目的相關資料,需要的朋友可以參考下

1. 部署項目的傳統(tǒng)方式

我們先來看一下部署項目的傳統(tǒng)方式:

  1. 將項目打成 jar 包
  2. 將本地打包出來的 jar 包上傳到服務器上
  3. 通過 java -jar 指令啟動項目

如果項目需要重新部署,需要重新執(zhí)行一次以上步驟,非常麻煩,而且傳統(tǒng)的部署項目方式也不方便查看日志

今天為大家介紹的 IDEA + Docker 一鍵部署項目正是為了解決這個問題,不僅操作簡單,而且查看日志也非常方便

本次演示的環(huán)境為:

  • JDK 17
  • IDEA 2024.2(安裝了漢化插件的 IDEA,英文版的 IDEA 操作類似)
  • Ubuntu 22.04 LTS
  • Docker 26.1.3

2. 前置工作

  1. 服務器已安裝 Docker,并且能夠正常拉取鏡像
  2. 了解簡單 Dockerfile 文件的編寫
  3. 本地電腦已安裝 IntelliJ IDEA 開發(fā)工具
  4. 能正常訪問接口的 SpringBoot 項目

3. SSH配置

由于需要連接服務器進行遠程部署,需要先配置 SSH

打開 IDEA 的設置界面

在設置界面中找到 SSH 配置

點擊 +,創(chuàng)建一個新的 SSH 連接,填入主機、用戶名和密碼后點擊測試連接

4. 連接Docker守護進程

成功連接 Docker 守護進程后才能執(zhí)行與 Docker 相關的操作

在設置中找到 Docker,點擊 +,選擇以 SSH 方法連接到 Docker 守護進程,接著點擊下拉列表,選擇剛才創(chuàng)建的 SSH 配置

完成以上操作后點擊應用,再點擊確定

5. 創(chuàng)建簡單的SpringBoot應用程序

我們創(chuàng)建一個簡單的 SpringBoot 應用程序,編寫一個簡單的接口,在 11020 端口上啟動項目

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloWorldController {

    @GetMapping("/")
    public String index() {
        return "<h1>Hello, world</h1>";
    }

}

6. 編寫Dockerfile文件

接著需要編寫一個用于定義和構建 Docker 鏡像的文本文件,文件名為 Dockerfile,Dockerfile 中的配置可根據(jù)自身項目情況進行調整

one-click-deployment

# 基礎鏡像
FROM openjdk:17

# 復制jar包至鏡像內
# 復制的目錄需放置在與 Dockerfile 文件同級的目錄下
ADD target/one-click-deployment-0.0.1-SNAPSHOT.jar /one-click-deployment-0.0.1-SNAPSHOT.jar

# 容器啟動執(zhí)行命令
ENTRYPOINT ["java", "-jar", "/one-click-deployment-0.0.1-SNAPSHOT.jar", "--spring.profiles.active=prod"]

# 對外暴露的端口號
EXPOSE 11020

jar 包的名稱需要與 pom.xml 文件中的配置保持一致

也可以在 Maven 管理界面執(zhí)行 package 操作后直接復制 jar 包的名稱

復制本地的 jar 包至鏡像內,jar 包所在的目錄需放置在與 Dockerfile 文件同級的目錄下

至此準備工作已經全部完成,接下來即可正式開始配置遠程一鍵部署

7. 配置遠程部署

首次配置可能比較繁瑣,但后續(xù)部署項目是真的方便,趕緊動手試一下吧

7.1 創(chuàng)建配置

點擊 +,選擇 Dockerfile

  • 勾選存儲為項目文件,這樣 IDEA 重啟后改配置也會繼續(xù)保存

  • 自定義名稱

  • 服務器選擇我們剛才連接的 Docker 守護進程(如果沒有自動識別,可以點擊后面的三個小點自行配置)

  • 選擇我們剛才編寫的 Dockerfile 文件

  • 自定義鏡像標記

  • 自定義容器名稱

    one-click-deployment:1.0.0

7.2 綁定端口

根據(jù)實際情況填寫端口

7.3 添加執(zhí)行前要運行的任務

選擇運行 Maven 目標

添加 clean 和 package 操作

最后點擊應用和確定

至此,所有配置都已完成

8. 部署項目

點擊綠色小三角即可自動完成項目部署(如果項目需要重新部署,再次點擊綠色小三角即可)

成功部署之后,就能夠很方便地在 IDEA 的控制臺看到項目的運行日志了

9. 開放防火墻的 11020 端口

  • 如果你使用的是云服務器,在安全組中放行 11020 端口
  • 如果你安裝了寶塔,除了在安全組中放行 11020 端口,還要在寶塔中放行 11020 端口

完成以上兩個操作后,輸入以下指令開放 11020 端口

Ubuntu

sudo ufw allow 11020

sudo ufw reload

CentOS

sudo firewall-cmd --zone=public --add-port=11020 /tcp --permanent

sudo firewall-cmd --reload

10. 訪問項目

在瀏覽器輸入以下網(wǎng)址,訪問項目(將 ip 地址更改為你的服務器的地址)

http://127.0.0.1:11020/

訪問成功后的界面

11. 可能遇到的問題

11.1 Cannot connect to the Docker daemon. Is the docker daemon running

如果你點擊小三角后部署失敗,并且 IDEA 給出了以下提示,可能是因為 SSH 配置中的用戶并沒有連接 Docker 的權限

Cannot connect to the Docker daemon. Is the docker daemon running

解決方法:將 SSH 配置中的用戶添加到 docker 用戶組

sudo usermod -aG docker $USER

運行以下指令,確保SSH 配置中的用戶已經成功添加到 docker 用戶組

getent group docker

注意:添加用戶到 docker 用戶組后需要重啟 IDEA

成功連接 Docker 后的界面

11.2 no main manifest attribute, in /one-click-deployment-0.0.1-SNAPSHOT.jar

錯誤信息 “no main manifest attribute, in /one-click-deployment-0.0.1-SNAPSHOT.jar” 表明 JAR 文件中沒有指定主類(即程序的入口點)

之所以產生這種情況,有可能是因為項目的 pom.xml 文件沒有指定主類,也有可能是因為 SpringBoot 打包插件沒生效

解決方法:修改項目的 pom.xml 文件,同時確保 SpringBoot 打包插件生效了(skip 屬性默認為 false,表示啟用打包插件)

總結 

到此這篇關于如何用IDEA+Docker一鍵部署SpringBoot項目的文章就介紹到這了,更多相關IDEA Docker一鍵部署SpringBoot內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 項目連接nacos配置中心報錯:Client not connected, current status:STARTING的解決方案

    項目連接nacos配置中心報錯:Client not connected, current

    這篇文章主要介紹了項目連接nacos配置中心報錯:Client not connected, current status:STARTING的解決方案,采用了mysql作為持久化的數(shù)據(jù)庫,docker作為運行的環(huán)境,感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • 理解JPA注解@GeneratedValue的使用方法

    理解JPA注解@GeneratedValue的使用方法

    這篇文章主要介紹了理解JPA注解@GeneratedValue的使用方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • SpringBoot搭建全局異常攔截

    SpringBoot搭建全局異常攔截

    這篇文章主要介紹了SpringBoot搭建全局異常攔截,本文通過詳細的介紹與代碼的展示,詳細的說明了如何搭建該項目,包括創(chuàng)建,啟動和測試步驟,需要的朋友可以參考下
    2021-06-06
  • 阿里的一道Java并發(fā)面試題詳解

    阿里的一道Java并發(fā)面試題詳解

    這篇文章主要介紹了阿里的一道Java并發(fā)面試題詳解,網(wǎng)絡、并發(fā)相關的知識,相對其他一些編程知識點更難一些,主要是不好調試并且涉及內容太多 !,需要的朋友可以參考下
    2019-06-06
  • Mybatis注解方式操作Oracle數(shù)據(jù)庫詳解

    Mybatis注解方式操作Oracle數(shù)據(jù)庫詳解

    這篇文章主要介紹了Mybatis注解方式操作Oracle數(shù)據(jù)庫詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • SpringBoot整合Web開發(fā)之Json數(shù)據(jù)返回的實現(xiàn)

    SpringBoot整合Web開發(fā)之Json數(shù)據(jù)返回的實現(xiàn)

    這篇文章主要介紹了SpringBoot整合Web開發(fā)其中Json數(shù)據(jù)返回的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • Java實現(xiàn)將html字符串插入到PPT幻燈片

    Java實現(xiàn)將html字符串插入到PPT幻燈片

    Java后端代碼操作PPT幻燈片時,可直接在幻燈片中繪制形狀,并在形狀中添加文本字符串內容。本篇文章主要介紹通過java實現(xiàn)將html字符串添加到PPT幻燈片的的方法,可添加文字、圖片、視頻、音頻等。以下是具體方法和步驟。
    2021-11-11
  • Java中的final關鍵字和抽象類詳解

    Java中的final關鍵字和抽象類詳解

    這篇文章主要介紹了Java中的final關鍵字和抽象類詳解,當不希望 類被繼承時,可以用final修飾比如不希望子類重寫父類時,當不希望某個局部變量被修改時,對參數(shù)進行修飾,需要的朋友可以參考下
    2023-07-07
  • Java Kafka實現(xiàn)優(yōu)先級隊列的示例詳解

    Java Kafka實現(xiàn)優(yōu)先級隊列的示例詳解

    在分布式系統(tǒng)中,消息隊列是一種常見的異步通信機制,而優(yōu)先級隊列則是消息隊列的一種特殊形式,下面我們來看看如何利用Kafka實現(xiàn)優(yōu)先級隊列吧
    2025-03-03
  • Java實現(xiàn)文件的加密解密功能示例

    Java實現(xiàn)文件的加密解密功能示例

    這篇文章主要介紹了Java實現(xiàn)文件的加密解密功能,結合具體實例形式詳細分析了java針對文件的讀取、判斷、加密、解密等相關步驟與操作技巧,需要的朋友可以參考下
    2017-10-10

最新評論

民县| 微山县| 彩票| 翁源县| 迁安市| 义乌市| 顺义区| 甘德县| 邮箱| 仁布县| 博乐市| 青神县| 枞阳县| 岫岩| 册亨县| 张家口市| 二手房| 平度市| 吴旗县| 阜新| 白水县| 宜丰县| 临城县| 林口县| 砀山县| 南雄市| 清苑县| 高清| 岑巩县| 鄂州市| 兴宁市| 甘肃省| 开阳县| 江北区| 三台县| 潮安县| 衡阳县| 林州市| 安图县| 融水| 大荔县|