构建器

构建器是一个BuildKit守护进程,您可以使用它来运行构建。BuildKit是构建引擎,它解决Dockerfile中的构建步骤以生成容器镜像或其他构件。

您可以创建和管理构建器,检查它们,甚至连接到远程运行的构建器。您可以使用Docker CLI与构建器交互。

默认构建器

Docker Engine自动创建一个构建器,该构建器成为构建的默认后端。此构建器使用与守护程序捆绑在一起的BuildKit库。此构建器不需要任何配置。

默认构建器直接绑定到Docker守护进程及其上下文。如果您更改Docker上下文,则您的default构建器将引用新的Docker上下文。

构建驱动程序

Buildx实现了构建驱动程序的概念来引用不同的构建器配置。守护程序创建的默认构建器使用docker驱动程序

Buildx支持以下构建驱动程序

  • docker:使用捆绑到Docker守护程序中的BuildKit库。
  • docker-container:使用Docker创建一个专用的BuildKit容器。
  • kubernetes:在Kubernetes集群中创建BuildKit Pod。
  • remote:直接连接到手动管理的BuildKit守护程序。

选定构建器

选定构建器是指在运行构建命令时默认使用的构建器。

当您运行构建或以某种方式使用CLI与构建器交互时,您可以使用可选的--builder标志或BUILDX_BUILDER环境变量按名称指定构建器。如果您没有指定构建器,则使用选定的构建器。

使用docker buildx ls命令查看可用的构建器实例。构建器名称旁边的星号(*)表示选定的构建器。

$ docker buildx ls
NAME/NODE       DRIVER/ENDPOINT      STATUS   BUILDKIT PLATFORMS
default *       docker
  default       default              running  v0.11.6  linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/386
my_builder      docker-container
  my_builder0   default              running  v0.11.6  linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/386

选择不同的构建器

要切换构建器,请使用docker buildx use <name>命令。

运行此命令后,当您调用构建时,将自动选择您指定的构建器。

附加信息