首頁 > 後端開發 > Golang > ## 如何在 Docker 映像中預先快取 Go 依賴項以加快建置速度?

## 如何在 Docker 映像中預先快取 Go 依賴項以加快建置速度?

Susan Sarandon
發布: 2024-10-26 18:50:03
原創
225 人瀏覽過

## How to Pre-Cache Go Dependencies in Docker Images for Faster Builds?

使用預先快取的依賴項高效能建置 Docker 映像

建置 Docker 映像時,最大限度地縮短建置時間至關重要。一種策略是快取相依性。然而,這需要先建立依賴項,這可能很耗時。

有沒有辦法預先建立 go.mod 檔案中列出的多個依賴項?

答案在於利用 Docker 的快取機制。建議的 Dockerfile 結構包括一個關鍵的快取層:

FROM scratch
COPY --from=build /out/example /
登入後複製

此步驟將建置的可執行檔從中間建置階段複製到最終映像中。然而,關鍵在於建置階段:

RUN --mount=type=cache,target=/root/.cache/go-build go build -o /out/example .
登入後複製

該指令掛載預設的 go build 快取目錄(/root/.cache/go-build)並執行 go build 指令。快取確保依賴項僅下載和編譯一次,從而顯著減少後續建置的建置時間。

要啟用緩存,必須將DOCKER_BUILDKIT 環境變數設為1:

DOCKER_BUILDKIT=1 docker build -t myimage .
登入後複製

透過執行以下步驟,您可以在go.mod 中預先建置所有相依性並利用快取來簡化Docker 映像建置。

以上是## 如何在 Docker 映像中預先快取 Go 依賴項以加快建置速度?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板