新发布的Docker Desktop Community提供了实验性功能buildx. buildx使用 BuildKit 构建多种系统架构的Docker镜像。
Docker Desktop Community 2.1.0.0 contains the following experimental features.
Docker Buildx: Docker Buildx is a CLI plugin for extended build capabilities with BuildKit. For more information, see Working with Docker Buildx.
可以使用 $ docker buildx build 命令使用 BuildKit 构建镜像。该命令支持 –platform 参数可以同时构建支持多种系统架构的 Docker 镜像,大大简化了构建步骤。
Buildx builder
docker build 命令只能构建一个架构的镜像,又例如Docker for Linux 不支持构建 arm 架构镜像。由于 Docker 默认的 builder 实例不支持同时指定多个镜像,我们必须首先创建一个新的 builder 实例。
1 | $ docker buildx create --use --name mybuilder --driver docker-container --driver-opt image=dockerpracticesig/buildkit:master |
构建镜像
Dockerfile 文件
1 | FROM --platform=$TARGETPLATFORM alpine |
1 | $ docker buildx build --platform linux/arm,linux/arm64,linux/amd64 -t myusername/hello . --push |