启用 Buildx
- macOS 或 Windows 系统的 Docker Desktop,以及 Linux 发行版通过 deb 或者 rpm 包所安装的 docker 内置了 buildx,不需要另行安装。
- 如果你的 docker 没有 buildx 命令,可以下载二进制包进行安装:
- 首先从 Docker buildx 项目的 release 页面找到适合自己平台的二进制文件。
下载二进制文件到本地并重命名为 docker-buildx,移动到 docker 的插件目录 ~/.docker/cli-plugins。
向二进制文件授予可执行权限。
https:///docker/buildx/releases/tag/v0.10.3

背景
随着国产化和信创的推进,为应用适配多个操作系统和处理器架构的需求越来越普遍。常见做法是为不同平台单独构建一个版本,当用来开发的平台与部署的目标平台不同时,实现这一目标并不容易。例如在 x86 架构上开发一个应用程序并将其部署到 ARM 平台的机器上,通常需要准备 ARM 平台的基础设施用于开发和编译。
一次构建多处部署的镜像分发大幅提高了应用的交付效率,对于需要跨平台部署应用的场景,利用 docker buildx 构建跨平台的镜像也是一种快捷高效的解决方案。
通过 docker pull 或 docker run 拉取一个支持跨平台的镜像时,docker 会自动选择与当前运行平台相匹配的镜像。由于该特性的存在,在进行镜像的跨平台分发时,我们不需要对镜像的消费做任何处理,只需要关心镜像的生产,即如何构建跨平台的镜像。
安装docker buildx
macOS 或 Windows 系统的 Docker Desktop,以及 Linux 发行版通过 deb 或者 rpm 包所安装的 docker 内置了 buildx,不需要另行安装。
如果你的 docker 没有 buildx 命令,可以下载二进制包进行安装:
- 首先从 Docker buildx 项目的 release 页面找到适合自己平台的二进制文件。
- 下载二进制文件到本地并重命名为 docker-buildx,移动到 docker 的插件目录 ~/.docker/cli-plugins。
- 向二进制文件授予可执行权限
如果本地的 docker 版本高于 19.03,可以通过以下命令直接在本地构建并安装,这种方式更为方便:
$ DOCKER\_BUILDKIT=1 docker build --platform=local -o . "https:///docker/buildx.git"
$ mkdir -p ~/.docker/cli-plugins
$ mv buildx ~/.docker/cli-plugins/docker-buildx下载docker-bulidx 二进制文件
https:///docker/buildx/releases/tag/v0.10.3

$ mkdir -p ~/.docker/cli-plugins
$ mv buildx ~/.docker/cli-plugins/docker-buildx
mv buildx-v0.10.3.linux-amd64 ~/.docker/cli-plugins/docker-buildx
[root@ncayu8847 docker]# ll ~/.docker/cli-plugins/docker-buildx
-rwxr--r--. 1 root root 49287168 2月 19 16:58 /root/.docker/cli-plugins/docker-buildx

[root@ncayu8847 docker]# docker buildx -h
Flag shorthand -h has been deprecated, please use --help
Usage: docker buildx [OPTIONS] COMMAND
Extended build capabilities with BuildKit
















