Docker是一個開源的應用容器引擎,將應用以及依賴打包到一個可移植的鏡像中,部署到服務器并運行在Container容器實例中。
創(chuàng)新互聯(lián)公司專注于網(wǎng)站建設,為客戶提供網(wǎng)站制作、成都做網(wǎng)站、網(wǎng)頁設計開發(fā)服務,多年建網(wǎng)站服務經(jīng)驗,各類網(wǎng)站都可以開發(fā),品牌網(wǎng)站制作,公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設計,建網(wǎng)站費用,建網(wǎng)站多少錢,價格優(yōu)惠,收費合理。
在構建Docker鏡像時,需要運行mvn package打包Spring Boot項目,是不是下載依賴庫很慢導致整個構建過程很長?分享一個巧妙的解決方法。
1,Dockerfile配置是核心
Dockerfile是鏡像描述文件,包含了一條條的指令,每一條指令構建一層,因此每一條指令的內(nèi)容,就是描述該層應當如何構建。Dockerfile基本結構:
- 基礎鏡像
- 維護者信息
- 鏡像構建指令
- 容器啟動時執(zhí)行指令
構建Docker鏡像時,為了解決mvn下載依賴庫速度慢、用時長的問題,將構建過程拆分為兩步:
1) Dockerfile_base為了觸發(fā)mvn下載依賴庫,構建一個空的Spring Boot項目,用時約10分鐘,在項目周期中很少改動,只需維護pom.xml
2) Dockerfile依賴Dockerfile_base,拉取源代碼和編譯打包jar文件,用時約3分鐘,每次代碼更新時構建Docker鏡像,速度非??炝恕?/p>
2,增加Dockerfile_ce社區(qū)版
依賴本地開發(fā)環(huán)境,將編譯好的項目運行文件打包進Docker鏡像,多用于本地開發(fā)測試,快速構建。
實例Dockerfile下載:https://github.com/jextop/StarterDeploy