首页/云/Docker 容器速查/buildx 构建器实例管理
镜像与构建107 条

buildx 构建器实例管理

buildx 是内置的构建 CLI 插件:默认 docker 驱动与 docker build 等价;用 docker-container 驱动可获得多平台与缓存导入导出能力。

Docker 容器速查云更新于 2026-10-13

buildx 是什么

buildx 是随 Docker 一起分发的构建前端插件,负责管理「构建器实例」(builder),并把构建请求交给 BuildKit 执行。默认的 docker 驱动行为与老式 docker build 基本等价;换成 docker-container 驱动后可以跑多平台构建、导入导出构建缓存、使用 --mount 与 heredoc 等新语法。可以把构建器理解成一套可切换的构建环境配置,而不是一次性命令。

基本信息

核心命令docker buildx ls / create / use / inspect / rm / build / bake
驱动类型docker(默认,单平台)/ docker-container(多平台与缓存导入导出)/ remote
切换构建器docker buildx create --use 或 docker buildx use 名称
版本查看docker buildx version 与 docker buildx ls 中的星号
适用平台Linux、macOS、Windows(含 WSL2)

典型使用场景

  • 需要构建多平台镜像时创建 docker-container 驱动构建器
  • CI 中用一个固定名称的构建器承载缓存,跨流水线复用
  • 构建参数或语法不生效时,检查当前生效的构建器与前端版本
  • 排查构建缓存行为差异,比对不同驱动下的层复用情况
  • 临时释放资源:删掉长期不用的构建器容器

构建器生命周期示例

构建器生命周期示例
# 查看已有构建器,带 * 的才是当前默认
docker buildx ls

# 新建容器驱动构建器并切换为默认
docker buildx create --name multiarch --driver docker-container --use

# 初始化并显示驱动与能力(首次构建前建议跑一次)
docker buildx inspect --bootstrap

# 用完删除构建器实例(不影响已构建镜像)
docker buildx rm multiarch

常用子命令对照

子命令作用典型时机
ls列出构建器与当前默认项构建行为异常先看这里
create新建构建器,可指定驱动需要多平台或缓存导入导出
use切换当前默认构建器同一台机器区分场景
inspect查看驱动、平台、缓存状态确认跨架构能力
rm删除构建器实例回收资源
bake按声明文件批量构建多镜像统一构建
docker-container 驱动会启动一个 BuildKit 容器,构建缓存默认存在该容器里;容器被删缓存也随之消失,长期使用应配置缓存导出或不要随手删构建器。
新版本 Docker 的 docker build 已默认走 BuildKit,但多平台、缓存导出、部分前端新语法仍需 buildx 搭配 docker-container 驱动。

易错点

  • buildx ls 里带 * 的才是当前默认构建器,构建结果与预期不符时先确认这一项
  • docker-container 驱动的缓存存在构建器容器内,删掉构建器等于清空缓存,重建时间会明显变长
  • 老环境里 docker build 仍走 legacy builder,Dockerfile 里的新语法会直接报错,需要统一构建入口
  • 构建器数量不受控地增长会占用磁盘与内存,定期用 docker buildx ls 巡检并清理不用的实例

数据来源与参考

  • Docker 官方文档:buildx(docs.docker.com/build)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌