iT邦幫忙

2022 iThome 鐵人賽

DAY 27
0
AI & Data

數位中介法沒有屏蔽的 AI 大數據大補帖系列 第 27

Day27《Spring Boot Api 上 k8s 實例》專案打包Jar與上傳Image 至Docker Hub

  • 分享至 

  • xImage
  •  

今天要將Spring Boot專案打包成Jar,並製作成Image上傳至Docker Hub上,方便以後使用。


  • 打包Jar

Step1.確認專案可以使用

https://ithelp.ithome.com.tw/upload/images/20220913/20129524xphUkX66jP.png

Step2.固定包名

至pom.xml加入finalName,固定打包的檔名

<finalName>teacherapi</finalName>

https://ithelp.ithome.com.tw/upload/images/20220913/20129524zbUxQy0jKM.png

Step3.開始打包Jar

使用工具 View > Tool Windows > Maven : Lifecycle > package
https://ithelp.ithome.com.tw/upload/images/20220913/20129524dlxE2Uiale.png

Step4.重新整理

重新整理專案資料加後會看到我們的Jar檔放置在target資料夾中
https://ithelp.ithome.com.tw/upload/images/20220913/20129524x2lYi2iljM.png


  • 製作Image並上傳至Docker Hub

Step1.撰寫dockerfile

在最底層新增一個檔案名為Dockerfile,並在裡面撰寫以下指令

  • FROM:會使用到的Docker Image名稱(Spring Boot需要的)
  • EXPOSE:該Image會使用哪個Port
  • ADD:把本地的檔案加到Image中使用(將我們包好的Jar執行檔放入Image中)
  • ENTRYPOINT:當Image運作中,容器內要執行的指令(這邊就是執行我們的Jar檔)
FROM openjdk:8
EXPOSE 8080
ADD target/teacherapi.jar teacherapi.jar
ENTRYPOINT ["java","-jar","teacherapi.jar"]

https://ithelp.ithome.com.tw/upload/images/20220913/20129524IzEUcHUdke.png

Step2.登入Docker Hub

使用sudo登入docker hub,不然有時候會報錯

sudo docker login

https://ithelp.ithome.com.tw/upload/images/20220913/20129524XfiANuAc7b.png

Step3.確認路徑

檢查是否為Dockerfile與target資料夾同一層
https://ithelp.ithome.com.tw/upload/images/20220913/20129524aPrBRTxUNF.png

Step4.建立Image

自訂你的名稱與標籤。(帳號/名稱:標籤)

sudo docker build -t allen030302/teacherapi:IT .

Step5.確認Image

sudo docker images

https://ithelp.ithome.com.tw/upload/images/20220913/20129524OvhToCJWVz.png

Step6.推送Image

sudo docker push allen030302/teacherapi:IT

https://ithelp.ithome.com.tw/upload/images/20220913/20129524qkS4uVSMFR.png

Step7.刪除本機的Image

sudo docker rmi allen030302/teacherapi:IT

https://ithelp.ithome.com.tw/upload/images/20220913/20129524XXOnwbepMJ.png


明天會介紹spring boot API 的 deployment service yaml撰寫,我們明天見~


上一篇
Day26《Spring Boot Api 上 k8s 實例》資料庫與IP設定
下一篇
Day28《Spring Boot Api 上 k8s 實例》Spring Boot API Deployment & Service yaml撰寫
系列文
數位中介法沒有屏蔽的 AI 大數據大補帖30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言