Docker开启buildx多CPU架构镜像制作
buildx简介
buildx 可用于在单个平台上实现跨 CPU 架构编译。
buildx 的实现依赖 QEMU (某开源模拟器),支持多种 CPU 架构,如 ARM、Power-PC 和 RISC-V。
需要注意:buildx推送镜像时,不会走主机的hosts文件,默认使用https协议
关于QEMU
QEMU 可以模拟一个完整的操作系统(开销较大)。QEMU还有一种用户态模式,基于 binfmt_misc 模拟目标硬件的用户空间,该模式可以创建轻量级的虚拟机(chroot 或者 容器),通过该方式提供多种平台的虚拟机,然后基于Dockerfile进行编译,平台不通,但Dockerfile是同一份。
系统限制
- Linux 内核v4.8及更高
- Docker v19.03及更高
查看Linux内核版本
$ uname -rs
Linux 5.4.219-1.el7.elrepo.x86_64
查看Docker版本
$ docker verson
Client: Docker Engine - Community
Version: 20.10.17
API version: 1.41
Go version: go1.17.11
Git commit: 100c701
Built: Mon Jun 6 23:05:12 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.17
API version: 1.41 (minimu

本文介绍了 Docker buildx,它可在单个平台上跨 CPU 架构编译,依赖 QEMU 模拟器,支持 ARM 等多种架构。同时说明了使用 buildx 的系统限制,如 Linux 内核 v4.8 及更高、Docker v19.03 及更高,还提及了开启实验特性、启用 binfmt_misc 等操作步骤。
最低0.47元/天 解锁文章
670

被折叠的 条评论
为什么被折叠?



