Building with Buildkit
summary
Monolithic Rails app image with Ruby gems, yarn/webpack and Debian packages moves from a naive Dockerfile rebuild model taking 11 minutes 09 seconds to a parallelized BuildKit pipeline at 7 minutes 41 seconds, a ~3.5 minute saving measured on Buildkite. Multistage builds expose dependency graph and BuildKit runs stages in parallel; adding cache mounts preserves bundler and node caches so a single gem bump becomes over a minute faster on subsequent builds.
AI-written summary · about
chapters (4)
- 0:00Building a monolith
- 1:45Understanding BuildKit
- 2:16BuildKit parallelization
- 3:52Cache mount optimization
related talks
50mHowto: Options Galore to Get from Source Code to Container
50mFaster builds and slimmer images with Docker multistage builds
29mFaster Bundler, Happier Developers
21mMaking Reproducible Builds Faster with Docker Bake
20mBuildKit CLI for kubectl: A New Way to Build Container Images
30mWhy your company should have a Developer's Kit and how to build one
28mWhat's New in Docker Build
35mHow we brought down our build times. Modularization impact on build speeds and metrics
