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