使用Maven將springboot工程打包成docker鏡像
Maven打包成docker鏡像
由于工作原因,需要通過(guò)maven將springboot項(xiàng)目打包成docker鏡像,先前以為只能在linux上完成,最近調(diào)研了一下,也可以在window環(huán)境下進(jìn)行打包。
? 下面以thinkpad E470,windows10操作系統(tǒng)以及eclipse開發(fā)集成工具為例,進(jìn)行說(shuō)明。
Springboot項(xiàng)目的創(chuàng)建,本文不進(jìn)行介紹,請(qǐng)自行百度。
1、增加docker插件依賴
首先Springboot工程需要在pom.xml文件增加對(duì)docker插件的支持,最新的插件是dockerfile-maven-plugin,原來(lái)的插件是docker-maven-plugin,現(xiàn)在不建議使用。
此處使用最新版本1.4.10。
2、docker插件的配置
3、編寫Dockerfile
其中,JAR_FILE 對(duì)應(yīng)的是pom文件buildArgs中的JAR_FILE。
4、Maven命令打包
在springboot項(xiàng)目根目錄下,打開命令窗口,執(zhí)行:mvn clean package dockerfile:build,等待其打包完成:
通過(guò)docker命令查看,鏡像是否成功:
5、注意事項(xiàng)
1、 Dockerfile文件需要在項(xiàng)目的根目錄下,與pom.xml并列。
2、 一個(gè)新的springboot工程默認(rèn)端口是8080。
3、 在Maven的settings.xml文件中添加以下內(nèi)容:
? com.spotify
否則會(huì)報(bào)以下錯(cuò)誤:
4、執(zhí)行命令:mvn clean package dockerfile:build,而不是mvn clean package docker:build,其是老版本命令,如果執(zhí)行此命令會(huì)報(bào)以下錯(cuò)誤:
5、執(zhí)行命令:mvn clean package dockerfile:build 仍然報(bào)錯(cuò)
Docker配置中勾選以下選項(xiàng), Docker的settings:
6、私服
Dokcer安裝完成后,鏡像默認(rèn)是從其官網(wǎng)上下載,速度比較慢,可以百度
找些國(guó)內(nèi)的repository,例如阿里的:https://de13k09g.mirror.aliyuncs.com,
然后再DockerEngine中進(jìn)行配置,如下:
點(diǎn)擊,Apply & Restart,如果能重啟成功,說(shuō)明配置成功。
6、Window10 下安裝docker
在docker官網(wǎng)(https://www.docker.com/)上注冊(cè)docker用戶,進(jìn)行下載。安裝文件下載完成后,是exe可執(zhí)行文件,雙擊執(zhí)行,等待安裝完畢。
安裝完畢后,可能docker啟動(dòng)不成功,比如:
那么,就需要開啟以下功能。
1、 Hyper-v開啟
控制面板—程序—程序和功能,點(diǎn)擊啟動(dòng)或關(guān)閉Windows功能,將hyper-v勾選上。
2、 bios開啟虛擬化
進(jìn)入BIOS, 找到configuration,選擇virtualization 將其設(shè)置成Enable
確認(rèn)機(jī)器虛擬化是否啟動(dòng)成功,可以從任務(wù)管理器中查看:性能–CPU
2、 bios開啟虛擬化
進(jìn)入BIOS, 找到configuration,選擇virtualization 將其設(shè)置成Enable
確認(rèn)機(jī)器虛擬化是否啟動(dòng)成功,可以從任務(wù)管理器中查看:性能–CPU
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java中數(shù)學(xué)相關(guān)類的使用教程
Java是一種廣泛使用的編程語(yǔ)言,它提供了許多數(shù)學(xué)運(yùn)算的函數(shù)和方法,使得開發(fā)者可以輕松地進(jìn)行各種數(shù)學(xué)計(jì)算,下面這篇文章主要給大家介紹了關(guān)于Java中數(shù)學(xué)相關(guān)類使用的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05Spring?Boot整合Bootstrap的超詳細(xì)步驟
之前做前端開發(fā),在使用bootstrap的時(shí)候都是去官網(wǎng)下載,然后放到項(xiàng)目中,在頁(yè)面引用,下面這篇文章主要給大家介紹了關(guān)于Spring?Boot整合Bootstrap的超詳細(xì)步驟,需要的朋友可以參考下2023-05-05SpringBoot中Mybatis + Druid 數(shù)據(jù)訪問(wèn)的詳細(xì)過(guò)程
Spring Boot 底層都是采用 SpringData 的方式進(jìn)行統(tǒng)一處理各種數(shù)據(jù)庫(kù),SpringData也是Spring中與SpringBoot、SpringCloud 等齊名的知名項(xiàng)目,下面看下SpringBoot Mybatis Druid數(shù)據(jù)訪問(wèn)的詳細(xì)過(guò)程,感興趣的朋友一起看看吧2021-11-11SpringCloud?分布式微服務(wù)架構(gòu)操作步驟
SpringCloud是一種微服務(wù)的框架,利用它我們可以去做分布式服務(wù)開發(fā),這篇文章主要介紹了SpringCloud?分布式微服務(wù)架構(gòu),需要的朋友可以參考下2022-07-07詳解 maven的pom.xml用<exclusion>解決版本問(wèn)題
這篇文章主要介紹了詳解 maven的pom.xml用<exclusion>解決版本問(wèn)題的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下2017-09-09Spring Security添加二次認(rèn)證的項(xiàng)目實(shí)踐
在用戶自動(dòng)登錄后,可以通過(guò)對(duì)密碼進(jìn)行二次校驗(yàn)進(jìn)而確保用戶的真實(shí)性,本文就來(lái)介紹一下Spring Security添加二次認(rèn)證的項(xiàng)目實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12