一.引語
本文將學(xué)習(xí)使用IDEA+Docker遠程一鍵部署SpringBoot項目,對比上傳jar包到服務(wù)器,再通過java指令運行項目,極大程度的提高了項目部署效率。可謂不用不知道,一用再也停不下來~
為了后續(xù)學(xué)習(xí)方便,需要提前進行如下和教程無關(guān)的最基本的準(zhǔn)備:
- 在服務(wù)器上安裝Docker,了解簡單DockerFile文件編寫,可參考博客:【微服務(wù)】Docker容器化
- 在本地電腦安裝 IntelliJ IDEA 開發(fā)工具.
- 能正常訪問接口的SpringBoot項目,打包出jar包,此處用如下簡單Demo進行演示.
至此,準(zhǔn)備工作已完成~
二.Jar包部署vs遠程部署
Jar包部署:
正常使用Jar包部署可以先在服務(wù)器上安裝Java開發(fā)環(huán)境,之后將本地打包出來的jar包上傳到服務(wù)器上,最后通過java -jar
指令啟動項目即可。使用這種方式進行部署每次需要重新部署項目都要 先停止項目 -> 重新上傳jar包到服務(wù)器 -> 啟動項目 ,相對來說還是比較麻煩的,而且想實時查看日志也不是很方便。詳細流程可參考博客:【原生部署】SpringBoot+Vue前后端分離項目
IDEA+Docker遠程一鍵部署:
使用這種方式進行好一系列配置后,每次需要重新部署項目僅需點擊綠色小三角(一步)即可自動完成項目部署:
同時還可以非常便捷的查看項目實時運行日志:
是不是非常方便?接下來學(xué)習(xí)一下如何進行配置~~~
三.配置遠程部署
(1) 進行ssh配置
由于需要連接服務(wù)器進行遠程部署,因此必須先進行ssh配置(File->Settings->搜索ssh)
。為了避免不必要的麻煩,推薦在Authentication type
中選擇Key pair
進行連接,嫌麻煩也可以直接通過Password
進行連接,等后續(xù)出現(xiàn)問題再切換連接方式。
使用Key pair
進行連接過程比較繁瑣,可參考博客:在IDEA中通過密鑰認證的方式使用SSH連接遠程Linux服務(wù)器
(2) 連接Docker守護進程
接下來需要配置連接Docker守護進程(File->Settings->搜索docker)
來操作Docker。
Docker daemon
補充說明:
Docker daemon(或稱為 Docker 守護進程)是運行在宿主機上的一個持續(xù)運行的服務(wù),負責(zé)管理 Docker 容器的創(chuàng)建、運行、停止等操作。它是 Docker 引擎的核心組件之一。
Docker daemon 有以下幾個主要的作用:
容器管理:Docker daemon 負責(zé)管理容器的生命周期,包括創(chuàng)建、運行、停止、刪除等操作。它接收來自 Docker 客戶端的命令,并根據(jù)命令進行相應(yīng)的操作,例如根據(jù)指定的鏡像創(chuàng)建容器,啟動容器的進程等。
鏡像管理:Docker daemon 負責(zé)管理 Docker 鏡像,它可以從 Docker Hub 或其他鏡像倉庫中下載鏡像,并根據(jù)需要構(gòu)建、打包、發(fā)布和分發(fā)鏡像。它還負責(zé)緩存鏡像,以便在創(chuàng)建容器時可以快速獲取需要的鏡像。
網(wǎng)絡(luò)管理:Docker daemon 負責(zé)管理容器的網(wǎng)絡(luò)。它將為每個容器分配一個唯一的 IP 地址,并為容器提供網(wǎng)絡(luò)連接,使得容器可以與其他容器或宿主機進行通信。
存儲管理:Docker daemon 負責(zé)管理容器的存儲,包括容器的文件系統(tǒng)、數(shù)據(jù)卷和容器的持久化存儲等。它可以根據(jù)指定的存儲驅(qū)動程序?qū)⑷萜鞯臄?shù)據(jù)保存在宿主機上的文件系統(tǒng)中,并為容器提供數(shù)據(jù)卷,以便對容器的存儲進行管理。
Docker daemon 是 Docker 引擎運行在宿主機上的核心組件,它負責(zé)處理容器管理、鏡像管理、網(wǎng)絡(luò)管理和存儲管理等任務(wù),提供了一個方便、高效、可靠的容器化平臺。
(3) 編寫Dockerfile文件
緊接著需要編寫一個用于定義和構(gòu)建 Docker 鏡像的文本文件,針對本教程提供如下文件進行參考,請根據(jù)自身項目情況進行調(diào)整:
# 基礎(chǔ)鏡像
FROM openjdk:17
# 復(fù)制主機jar包至鏡像內(nèi),復(fù)制的目錄需放置在 Dockerfile 文件同級目錄下
ADD target/demo-0.0.1-SNAPSHOT.jar app.jar
# 容器啟動執(zhí)行命令
ENTRYPOINT ["java","-jar", "/app.jar" , "--spring.profiles.active=prod"]
# 對外暴露的端口號
EXPOSE 8080
復(fù)制主機jar包至鏡像內(nèi),復(fù)制的目錄需放置在 Dockerfile 文件同級目錄下,例如:
至此準(zhǔn)備工作已經(jīng)全部完成,接下來即可正式開始配置遠程一鍵部署~
(4) 配置遠程部署
1)前往創(chuàng)建配置
2)創(chuàng)建配置
3)根據(jù)下述步驟填寫之前所進行的一系列配置即可
4)至此,所有配置都已完成,最后嘗試一下本文開始所述”點擊綠色小三角(一步)即可自動完成項目部署“
正在上傳文件~~~
已經(jīng)跑起來了~~~
在瀏覽器請求成功顯示了響應(yīng)結(jié)果,控制臺也能看到日志輸出啦~~~
文章來源:http://www.zghlxwxcb.cn/news/detail-851816.html
至此本文教程結(jié)束。首次配置或許確實比較繁瑣,但后續(xù)部署項目是真的方便,趕緊動手試一下吧~文章來源地址http://www.zghlxwxcb.cn/news/detail-851816.html
到了這里,關(guān)于IDEA+Docker遠程一鍵部署SpringBoot項目的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!