扩展Docker镜像构建能力(多平台)之buildx
Docker Buildx 是Docker官方的CLI 插件,用于扩展 Docker 镜像构建能力,基于BuildKit构建引擎。
核心定位
- 它是
docker build的增强版(现代 Docker 中docker build实际底层已调用 Buildx)。 - 提供完整的BuildKit 功能支持,同时保持与传统
docker build相似的用户体验。 - 支持创建和管理多个隔离的builder 实例,可并发构建、跨平台构建等高级场景。
主要特性
多平台镜像构建:一次命令可构建 linux/amd64、linux/arm64 等多个架构的镜像(manifest list)。
多种构建驱动(drivers):
docker(默认,使用 Docker 引擎)docker-container(在独立容器中运行 BuildKit)kubernetesremotecloud(Docker Build Cloud,较新支持)
高级输出与缓存:支持导出到 registry、OCI tarball、本地目录等;内联缓存、分布式缓存。
Bake:高级批量构建工具(类似 Makefile),支持 HCL/JSON/Compose 定义,可并行构建多个目标。
其他:构建策略(policy)、调试(DAP)、镜像工具(imagetools)、磁盘使用管理等。
安装
- Windows / macOS:Docker Desktop 已内置。
- Linux:安装
docker-buildx-plugin包(官方 Docker 仓库)。- 手动下载:从 GitHub Releases 获取二进制,放到
~/.docker/cli-plugins/(或系统级路径)。 - 也可从源码构建或通过 Dockerfile 安装。
- 手动下载:从 GitHub Releases 获取二进制,放到
要求 Docker Engine ≥ 19.03
基本用法
1 | # 1.普通构建 |