BuildKit: Docker's hidden gem that can build almost anything

22 points by tuananh


dvogel

This article does the same basic thing the docs do:

BuildKit gives you a content-addressable, parallelized, cached build engine for free.

Perhaps you didn't have to build those parts yourself. However they aren't free. The content addressable part isn't just a benefit. It is also a cost. It is the cost of providing this as a general solution and it is what leads to slow bits like the docker context hashing.

I still think it is good. I just dislike overzealous sales pitches.

white-star

I read this but didn't get why I'd want to use it instead of a make file and shell scripts.

mdaniel

Please don't forget to add a license to your repo

gthm

So could I use this as a kind of ccache at work? We have a number of large C++ projects. Could I write a frontend that reads cmake (or its make/ninja output perhaps) and outputs this IR format and have buildkit deal with the rest? Or am I missing something?

southclaws

oh this is really neat I had no idea! I might use this for the plugin packaging tool i'm building for my OSS project

jorsk

FWIW I'm pretty sure you can use buildkit directly without involving the docker cli.

Halkcyon

I read the article and attached repo—why is this being flagged as spam with the vibecoding tag added? I thought it was rather clever to build a custom frontend for buildkit and not something I've run across before. Are the em-dashes and misaligned ASCII charts that big a tell that it must be LLM-written/-edited?