构建者

构建器是一个 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 的 pods。
  • 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> 命令。

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

附加信息