使用Maven將springboot工程打包成docker鏡像
Maven打包成docker鏡像
由于工作原因,需要通過maven將springboot項目打包成docker鏡像,先前以為只能在linux上完成,最近調(diào)研了一下,也可以在window環(huán)境下進行打包。
? 下面以thinkpad E470,windows10操作系統(tǒng)以及eclipse開發(fā)集成工具為例,進行說明。
Springboot項目的創(chuàng)建,本文不進行介紹,請自行百度。
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工程默認端口是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安裝完成后,鏡像默認是從其官網(wǎng)上下載,速度比較慢,可以百度
找些國內(nèi)的repository,例如阿里的:https://de13k09g.mirror.aliyuncs.com,
然后再DockerEngine中進行配置,如下:

點擊,Apply & Restart,如果能重啟成功,說明配置成功。
6、Window10 下安裝docker
在docker官網(wǎng)(https://www.docker.com/)上注冊docker用戶,進行下載。安裝文件下載完成后,是exe可執(zhí)行文件,雙擊執(zhí)行,等待安裝完畢。
安裝完畢后,可能docker啟動不成功,比如:

那么,就需要開啟以下功能。
1、 Hyper-v開啟
控制面板—程序—程序和功能,點擊啟動或關(guān)閉Windows功能,將hyper-v勾選上。

2、 bios開啟虛擬化
進入BIOS, 找到configuration,選擇virtualization 將其設(shè)置成Enable
確認機器虛擬化是否啟動成功,可以從任務(wù)管理器中查看:性能–CPU
2、 bios開啟虛擬化
進入BIOS, 找到configuration,選擇virtualization 將其設(shè)置成Enable
確認機器虛擬化是否啟動成功,可以從任務(wù)管理器中查看:性能–CPU

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
springcloud使用profile實現(xiàn)多環(huán)境配置方式
這篇文章主要介紹了springcloud使用profile實現(xiàn)多環(huán)境配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03
Java如何利用return結(jié)束方法調(diào)用
這篇文章主要介紹了Java如何利用return結(jié)束方法調(diào)用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-02-02
基于java開發(fā)之系統(tǒng)托盤的應(yīng)用
本篇文章介紹了,基于java開發(fā)之系統(tǒng)托盤的應(yīng)用。需要的朋友參考下2013-05-05
Windows系統(tǒng)下Eclipse搭建ESP32編譯環(huán)境及安裝過程
Ecppse 使用了 ESP-IDF 中的 Makefile 支持。這意味著您需要從創(chuàng)建 ESP-IDF 項目開始。您可以使用 github 中的 idf-template 項目,接下來通過本文給大家介紹Windows系統(tǒng)下Eclipse搭建ESP32編譯環(huán)境及安裝過程,感興趣的朋友一起看看吧2021-10-10
SpringBoot+Spring?Data?JPA整合H2數(shù)據(jù)庫的示例代碼
H2數(shù)據(jù)庫是一個開源的關(guān)系型數(shù)據(jù)庫,本文重點給大家介紹SpringBoot+Spring?Data?JPA整合H2數(shù)據(jù)庫的示例代碼,感興趣的朋友跟隨小編一起看看吧2022-02-02

