Mastering Docker Build Cache: Speed Up Your Builds with Cache Mounts
前言 / Introduction 為什麼需要 Docker Cache Mount? 在 Docker 開發過程中,你是否遇到過這些困擾? 重複下載依賴:每次 build 都要重新安裝相同的套件 漫長的等待時間:大型專案的 build 時間動輒 10-20 分鐘 網路資源浪費:重複下載相同的檔案 開發效率低下:頻繁的 build 測試嚴重影響開發節奏 Docker BuildKit Cache Mount 就是解決這些問題的終極方案! 什麼是 Docker Cache Mount? 核心概念 Cache Mount 是 Docker BuildKit 提供的高級功能,它允許你: 緩存依賴目錄:將套件、編譯結果等暫存起來 跨 Build 重用:下次 build 時直接使用緩存 大幅提升速度:減少重複下載和編譯時間 節省網路資源:避免重複傳輸相同檔案 工作原理 第一次 Build → 下載依賴 → 安裝套件 → 緩存到指定目錄 ↓ 第二次 Build → 檢查緩存 → 直接使用 → 跳過下載步驟 ↓ 結果:Build 時間從 15 分鐘縮短到 2 分鐘! 基本語法與用法 語法格式 RUN --mount=type=cache,target=<緩存路徑> \ <你的安裝命令> 參數說明 參數 說明 範例 type=cache 指定緩存類型 --mount=type=cache target 緩存目標路徑 target=/root/.cache/pip id 緩存標識符 id=my-cache sharing 共享策略 sharing=locked 實戰範例:常見使用場景 1. Python pip 緩存 # 基本用法 RUN --mount=type=cache,target=/root/.cache/pip \ pip install -r requirements.txt # 進階用法:指定緩存 ID RUN --mount=type=cache,target=/root/.cache/pip,id=pip-cache \ pip install -r requirements.txt 效果:第二次 build 時,pip 會直接使用緩存的套件,跳過下載步驟。 ...