Buildx, BuildKit, Drivers, and Build Cloud

Explore the Docker build system, including Buildx, BuildKit, multi-architecture builds, and cloud-based services for efficient and faster image creation.

In this lesson we’ll 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 data center, or in Docker’s Build Cloud.

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

Get hands-on with 1300+ tech skills courses.