首頁  >  文章  >  Java  >  如何把SpringBoot專案打包成Docker映像

如何把SpringBoot專案打包成Docker映像

PHPz
PHPz轉載
2023-05-14 20:55:045270瀏覽

把SpringBoot專案打包成Docker映像有兩種方案:

全自動化:先打好docker映像倉庫,然後在專案的maven配置中配置好倉庫的位址,在專案裡設定好Dockerfile文件,這樣可以直接在idea打包好後自動上傳到映像倉庫,然後到伺服器啟動這個映像就行了。

半自動化:半自動化又有兩種方案,一種是Dockerfile檔案放在專案裡面,一種是放在專案外面。

  • 放在專案裡面:springboot pom.xml中設定maven插件支持,打包時會使用專案裡面的dockerfile,如果沒設定外掛支援會報錯找不到dockerfile檔

  • 放在專案外面:springboot還是打包成普通的jar,然後把這個jar上傳到伺服器,同時在伺服器建立一個Dockerfile文件,執行docker build指令,把這個jar建構成一個docker映像,然後透過映像執行。

一般來說用半自動化比全自動化用的多,本文用的算是半自動化方式的第二種,總體來說有幾個步驟:

1. 建構SpringBoot專案

如何把SpringBoot專案打包成Docker映像

如何把SpringBoot專案打包成Docker映像

#寫一個controller

如何把SpringBoot專案打包成Docker映像

進行本地測試

如何把SpringBoot專案打包成Docker映像

2. 打包應用程式

點擊package將項目進行打包

如何把SpringBoot專案打包成Docker映像

##打包成功

如何把SpringBoot專案打包成Docker映像

cmd運行java -jar能夠運行成功

如何把SpringBoot專案打包成Docker映像

可以下載個Docker外掛

如何把SpringBoot專案打包成Docker映像

3. 寫dockerfile

在target裡面建立Dockerfile文件,此時Dockerfile檔是高亮的

如何把SpringBoot專案打包成Docker映像

Dockerfile設定內容(在Idea裡面寫Dockerfile會有提示)

#发布到网上时只会把jar包和Dockerfile发布上去
COPY *.jar /app.jar
#地址映射
CMD ["--server.port=8080"]
#对外暴露端口
EXPOSE 8080
#执行命令
ENTRYPOINT ["java","-jar","/app.jar"]

4. 建置映像

將jar包和Dockerfile檔案拿出來新建個資料夾放裡面,按住shift鍵開啟PowerShell

(注意:本人電腦上安裝的是Docker Desktop)

如何把SpringBoot專案打包成Docker映像

輸入指令建置映像,firstdocker是映像名(最後的. 表示Dockerfile檔案在目前目錄下)

如何把SpringBoot專案打包成Docker映像

檢視建置好的鏡像(不清楚指令的可以先學一下基礎指令)

如何把SpringBoot專案打包成Docker映像

#鏡像建置成功後運行容器(第一個為伺服器8080端口,第二個8080為docker容器端口)

如何把SpringBoot專案打包成Docker映像

可以看容器是否正在運行和日誌訊息

如何把SpringBoot專案打包成Docker映像

存取成功

如何把SpringBoot專案打包成Docker映像

#5.發布運行

可以將映像上傳到dockerhub,以後使用Docker之後,給別人交付的就是一個映像即可!

以上是如何把SpringBoot專案打包成Docker映像的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除