Docker是一個開源的應用容器引擎,將應用以及依賴打包到一個可移植的鏡像中,部署到服務器並運行在Container容器實例中。
在構建Docker鏡像時,需要運行mvn package打包Spring Boot項目,是不是下載依賴庫很慢導致整個構建過程很長?分享一個巧妙的解決方法。
1,Dockerfile配置是核心
Dockerfile是鏡像描述文件,包含了一條條的指令,每一條指令構建一層,因此每一條指令的內容,就是描述該層應當如何構建。Dockerfile基本結構:
- 基礎鏡像
- 維護者信息
- 鏡像構建指令
- 容器啓動時執行指令
構建Docker鏡像時,爲了解決mvn下載依賴庫速度慢、用時長的問題,將構建過程拆分爲兩步:
1) Dockerfile_base爲了觸發mvn下載依賴庫,構建一個空的Spring Boot項目,用時約10分鐘,在項目週期中很少改動,只需維護pom.xml
2) Dockerfile依賴Dockerfile_base,拉取源代碼和編譯打包jar文件,用時約3分鐘,每次代碼更新時構建Docker鏡像,速度非常快了。
2,增加Dockerfile_ce社區版
依賴本地開發環境,將編譯好的項目運行文件打包進Docker鏡像,多用於本地開發測試,快速構建。
實例Dockerfile下載:https://github.com/jextop/StarterDeploy
專欄:https://blog.51cto.com/cloumn/detail/90