KDOC 183: イメージビルド時にツール側のキャッシュを使う
この文書のステータス
- 作成
- 2024-06-04 貴島
- レビュー
- 2024-06-06 貴島
概要
Docker imageをビルドするときレイヤーキャッシュが生成されるが、ファイル内容に違いがあると破棄されてビルドが再実行される。なのでコードが1行でも、依存ライブラリが1行でも変更されると、ゼロからビルドして時間がかかることになる。パッケージ管理ツールやコンパイラ自体のビルドキャッシュ/インストールキャッシュを利用するには、専用の領域を指定して保存しておく。
# Dockerfile RUN --mount=type=cache,target=/go/pkg/mod \ --mount=type=cache,target=/root/.cache/go-build \ --mount=type=bind,target=. \ go build .
これによって、2段階のキャッシュを利用することになる。
- 内容が全く同じ場合はDockerのレイヤーキャッシュを使う
- 内容が変わった場合はパッケージ管理ツールやコンパイラのキャッシュを使う
となり、高速化できる。
関連
なし。