Docker 19.03 引入的插件 buildx[4],可以很轻松地构建多平台 Docker 镜像。buildx 是 docker build … 命令的下一代替代品,它利用 BuildKit[5] 的全部功能扩展了 docker build 的功能。
原理也很简单,之前已经提到过了,buildx 会通过 QEMU 和 binfmt_misc 分别为 3 个不同的 CPU 架构(arm,arm64 和 amd64)构建 3 个不同的镜像。构建完成后,就会创建一个 manifest list[7],其中包含了指向这 3 个镜像的指针。
如果想将构建好的镜像保存在本地,可以将 type 指定为 docker,但必须分别为不同的 CPU 架构构建不同的镜像,不能合并成一个镜像,即:
🐳 → docker buildx build -t yangchuansheng/hello-arch –platform=linux/arm -o type=docker .
🐳 → docker buildx build -t yangchuansheng/hello-arch –platform=linux/arm64 -o type=docker .
🐳 → docker buildx build -t yangchuansheng/hello-arch –platform=linux/amd64 -o type=docker .
https://blog.csdn.net/alex_yangchuansheng/article/details/103146303