Buildx, BuildKit, drivers, and Build Cloud

Take a quick look at the Docker build system, including Buildx, BuildKit, multi-architecture builds, and using cloud-based services for efficient and faster image creation.

In this section we take a quick look at the major components that power builds. Docker’s build system has a client and server architecture:

  • Client: Buildx
  • Server: BuildKit

The Buildx build client

Buildx is Docker’s latest and greatest build client. It’s implemented as a CLI plugin and supports all the latest features of BuildKitBuildKit is Docker’s build engine that improves speed, security, and flexibility for building container images., such as multi-stage builds, multi-architecture images, advanced caching, and more. It’s been the default build client since Docker v23.0 and Docker Desktop v4.19.

We can configure Buildx to talk to multiple BuildKit instances, and we call each instance of BuildKit a builder. Builders can be on your local machine, in your cloud or datacenter, or Docker’s Build Cloud.

If we point buildx at a local builder, image builds will be done on our local machine. If we point it at a remote builder, such as Docker Build Cloud, builds will be done on remote infrastructure. The figure below shows a Docker environment configured to talk to a local and a remote builder.

Get hands-on with 1200+ tech skills courses.