BuildKit

BuildKit

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


BuildKit

How

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