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

一步步教你把SpringBoot項(xiàng)目打包成Docker鏡像

 更新時(shí)間:2023年02月24日 10:41:44   作者:天天學(xué)爪娃  
Docker可以讓開發(fā)者打包他們的應(yīng)用以及依賴包到一個(gè)輕量級(jí)、可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化,下面這篇文章主要給大家介紹了關(guān)于SpringBoot項(xiàng)目打包成Docker鏡像的相關(guān)資料,需要的朋友可以參考下

把SpringBoot項(xiàng)目打包成Docker鏡像有兩種方案:

全自動(dòng)化:先打好docker鏡像倉庫,然后在項(xiàng)目的maven配置中配置好倉庫的地址,在項(xiàng)目里配置好Dockerfile文件,這樣可以直接在idea中打包好后自動(dòng)上傳到鏡像倉庫,然后去服務(wù)器上啟動(dòng)這個(gè)鏡像就行了。

半自動(dòng)化:半自動(dòng)化又有兩種方案,一種是Dockerfile文件放在項(xiàng)目里面,一種是放在項(xiàng)目外面。

  • 放在項(xiàng)目里面:springboot pom.xml中配置maven插件支持,打包時(shí)會(huì)使用項(xiàng)目里面的dockerfile,如果沒配置插件支持會(huì)報(bào)錯(cuò)找不到dockerfile文件
  • 放在項(xiàng)目外面:springboot還是打包成普通的jar,然后把這個(gè)jar上傳到服務(wù)器,同時(shí)在服務(wù)器創(chuàng)建一個(gè)Dockerfile文件,執(zhí)行docker build命令,把這個(gè)jar構(gòu)建成一個(gè)docker鏡像,然后通過鏡像執(zhí)行。

一般來說用半自動(dòng)化比全自動(dòng)化用的多,本文用的算是半自動(dòng)化方式的第二種,總體來說有一下幾個(gè)步驟:

1. 構(gòu)建SpringBoot項(xiàng)目

編寫一個(gè)controller

進(jìn)行本地測試

2. 打包應(yīng)用

點(diǎn)擊package將項(xiàng)目進(jìn)行打包

打包成功

cmd運(yùn)行java -jar能夠運(yùn)行成功

可以下載個(gè)Docker插件

3. 編寫dockerfile

在target里面創(chuàng)建Dockerfile文件,此時(shí)Dockerfile文件是高亮的

Dockerfile配置內(nèi)容(在Idea里面寫Dockerfile會(huì)有提示)

#發(fā)布到網(wǎng)上時(shí)只會(huì)把jar包和Dockerfile發(fā)布上去
COPY *.jar /app.jar
#地址映射
CMD ["--server.port=8080"]
#對(duì)外暴露端口
EXPOSE 8080
#執(zhí)行命令
ENTRYPOINT ["java","-jar","/app.jar"]

4. 構(gòu)建鏡像

將jar包和Dockerfile文件拿出來新建個(gè)文件夾放里面,按住shift鍵打開PowerShell
(注意:本人電腦上安裝的是Docker Desktop)

輸入命令構(gòu)建鏡像,firstdocker是鏡像名(最后的 . 表示 Dockerfile 文件在當(dāng)前目錄下)

查看構(gòu)建好的鏡像(不清楚命令的可以先學(xué)一下基礎(chǔ)命令)

鏡像構(gòu)建成功后運(yùn)行容器(第一個(gè)為服務(wù)器8080端口,第二個(gè)8080為docker容器端口)

可以看容器是否在運(yùn)行和日志信息

訪問成功

5. 發(fā)布運(yùn)行

可以將鏡像上傳到dockerhub,以后使用Docker之后,給別人交付的就是一個(gè)鏡像即可!

總結(jié)

到此這篇關(guān)于把SpringBoot項(xiàng)目打包成Docker鏡像的文章就介紹到這了,更多相關(guān)SpringBoot項(xiàng)目打包Docker鏡像內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot基于Swagger2構(gòu)建API文檔過程解析

    SpringBoot基于Swagger2構(gòu)建API文檔過程解析

    這篇文章主要介紹了SpringBoot基于Swagger2構(gòu)建API文檔過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • 淺析Java?BigDecimal為什么可以不丟失精度

    淺析Java?BigDecimal為什么可以不丟失精度

    在金融領(lǐng)域,為了保證數(shù)據(jù)的精度,往往會(huì)使用BigDecimal,所以這篇文章主要來和大家探討下為什么BigDecimal可以保證精度不丟失,感興趣的可以了解下
    2024-03-03
  • Java中的record使用詳解

    Java中的record使用詳解

    record 是 Java 14 引入的一種新語法(在 Java 16 中成為正式功能),用于定義不可變的數(shù)據(jù)類,這篇文章給大家介紹Java中的record相關(guān)知識(shí),感興趣的朋友一起看看吧
    2025-06-06
  • idea如何指定MainClass

    idea如何指定MainClass

    文章介紹了如何在IntelliJ IDEA中設(shè)置Java后臺(tái)測試程序的MainClass,并分享了設(shè)置JDK版本和Project language level的方法
    2024-11-11
  • Spring中 @Value注解設(shè)置默認(rèn)值的多種方式

    Spring中 @Value注解設(shè)置默認(rèn)值的多種方式

    在Spring框架中,@Value注解是一個(gè)非常有用的特性,它允許你將外部的值動(dòng)態(tài)地注入到你的bean屬性中,這對(duì)于配置數(shù)據(jù)庫連接信息、服務(wù)URL、以及其他需要在運(yùn)行時(shí)動(dòng)態(tài)改變的設(shè)置非常有用,本文給大家介紹Spring中@Value注解設(shè)置默認(rèn)值的多種方式,感興趣的朋友一起看看吧
    2025-09-09
  • SpringBoot 如何使用 JWT 保護(hù) Rest Api 接口

    SpringBoot 如何使用 JWT 保護(hù) Rest Api&nbs

    使用spring-boot開發(fā)RESTful API非常的方便,在生產(chǎn)環(huán)境中,對(duì)發(fā)布的 API 增加授權(quán)保護(hù)是非常必要的,現(xiàn)在我們來看如何利用JWT技術(shù)為API 增加授權(quán)保護(hù),保證只有獲得授權(quán)的用戶才能夠訪問 API,感興趣的朋友跟隨小編一起看看吧
    2024-02-02
  • SpringBoot使用Shiro實(shí)現(xiàn)動(dòng)態(tài)加載權(quán)限詳解流程

    SpringBoot使用Shiro實(shí)現(xiàn)動(dòng)態(tài)加載權(quán)限詳解流程

    本文小編將基于?SpringBoot?集成?Shiro?實(shí)現(xiàn)動(dòng)態(tài)uri權(quán)限,由前端vue在頁面配置uri,Java后端動(dòng)態(tài)刷新權(quán)限,不用重啟項(xiàng)目,以及在頁面分配給用戶?角色?、?按鈕?、uri?權(quán)限后,后端動(dòng)態(tài)分配權(quán)限,用戶無需在頁面重新登錄才能獲取最新權(quán)限,一切權(quán)限動(dòng)態(tài)加載,靈活配置
    2022-07-07
  • IDEA 2022 CPU占用100%的問題及解決方法

    IDEA 2022 CPU占用100%的問題及解決方法

    這篇文章主要介紹了IDEA 2022 CPU占用100%問題及解決方法,其實(shí)解決方法很簡單,只需要禁用三個(gè)插件然后重啟idea即可成功解決,需要的朋友可以參考下本文
    2022-08-08
  • SpringMVC如何訪問WEB-INF jsp過程解析

    SpringMVC如何訪問WEB-INF jsp過程解析

    這篇文章主要介紹了SpringMVC如何訪問WEB-INF jsp過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Java世界中最快的JDBC連接池HikariCP詳解

    Java世界中最快的JDBC連接池HikariCP詳解

    在 Java 生態(tài)系統(tǒng)中,JDBC 連接池的選擇直接影響著系統(tǒng)的性能和穩(wěn)定性,HikariCP 是目前公認(rèn)的性能最強(qiáng)、代碼最簡潔的 JDBC 連接池實(shí)現(xiàn),其設(shè)計(jì)哲學(xué)以“極簡主義”為核心,本文將詳細(xì)給大家介紹了Java世界中最快的JDBC連接池HikariCP,需要的朋友可以參考下
    2025-06-06

最新評(píng)論

伊金霍洛旗| 安福县| 上蔡县| 丘北县| 紫金县| 阿拉善左旗| 禹州市| 忻城县| 忻州市| 新泰市| 靖江市| 堆龙德庆县| 瑞丽市| 济南市| 富平县| 乐昌市| 华池县| 屯留县| 泰来县| 保山市| 莎车县| 报价| 闵行区| 荆门市| 新田县| 罗平县| 蒙自县| 乡城县| 新津县| 荣昌县| 高州市| 浏阳市| 资溪县| 遂宁市| 栾川县| 夏邑县| 历史| 玉山县| 临猗县| 金沙县| 商河县|