buildx 是 Docker 官方提供的一个 CLI 插件,用来扩展 docker build 命令,底层调用高性能构建引擎 BuildKit,从而支持多平台镜像并行构建、分布式缓存、构建集群等高级功能。主要特点包括:
-
多架构/多平台构建
可在 x86_64 主机上一次命令同时构建 linux/amd64、linux/arm64、linux/arm/v7 等架构镜像,并自动输出合并的 manifest list。 -
多种驱动(driver)
docker驱动:直接复用本地守护进程,体验与旧版docker build最接近。docker-container驱动:启动持久化的 BuildKit 容器,支持完整功能(多平台、缓存导出等)。kubernetes驱动:把构建任务下发到 K8s 集群,实现横向扩展。remote驱动:连接外部的 BuildKit 服务。
-
构建器(builder)实例
通过docker buildx create可创建互相隔离的构建器,方便为不同项目或 CI 任务分配独立环境,并可随时use切换。 -
并行与缓存
BuildKit 的 DAG 并行执行、缓存导入/导出、内联缓存等特性在 buildx 中默认可用,显著加快重复构建速度。 -
高级构建语法
支持docker buildx bake通过 HCL/JSON 文件定义多镜像、多平台、多参数的批量构建流程,类似 Makefile 但更贴合镜像场景。 -
安装与使用条件
- Docker Engine ≥ 19.03(推荐 20.10+)
- Windows/macOS 的 Docker Desktop 已内置;Linux 需安装
docker-buildx-plugin包或下载官方二进制。
一句话总结:buildx 就是“BuildKit 的 Docker 命令行前端”,让你像平时 docker build 一样,同时又能享受多平台、并行、缓存、远程构建等现代化能力。