The project

BuildKit is part of the Moby project

Initiated by Docker

Community driven

The features

Multi-stage builds

Concurrent and distributed execution

Remote build cache

Builds secrets

Unprivileged execution



Frontends are parsers for an input language

The input is translated into an intermediate representation

This is a dependency graph

The Low Level Builders represent a single operation in the graph

LLBs are executed by workers on runc or containerd

LLBs can be executed in parallel

The build result is offered in a variaty of output formats

Frontend is parsed into LLB and written to Output