Docker のビルド結果をキャッシュする¶
buildx を使ってビルドするとキャッシュの設定が細かくできる。 https://docs.docker.com/build/building/cache/backends/
- inline: embeds the build cache into the image.
The inline cache gets pushed to the same location as the main output result. Note that this only works for the image exporter.
- registry: embeds the build cache into a separate image, and pushes to a dedicated location separate from the main output.
- local: writes the build cache to a local directory on the filesystem.
- gha: uploads the build cache to GitHub Actions cache (beta).
- s3: uploads the build cache to an AWS S3 bucket (unreleased).
- azblob: uploads the build cache to Azure Blob Storage (unreleased).
GitHub Actions で使う例はこちら。 docker/build-push-action@v3
でビルドしたイメージを後続の処理で使うにはoutputs: type=docker
を設定する。 この設定をすると build と push が少し遅くなるので、後続の処理でビルドしたイメージを使わないならこのオプションは使わない方がいい。