引子
最近发现有ARM版Docker,hub.docker.com上也有ARM版本的镜像,但是ARM版本的Docker镜像构建是个问题。嵌入式程序可以在PC机上进行交叉编译,不知道Docker是否有交叉构建的方案。
方案
目前想到的Docker构建ARM镜像方法有如下几种。第三种就类似交叉编译。
使用ARM主机,安装ARM版本的Docker,docker build出来的就是ARM版本的镜像。
使用Linux的虚拟化软件,模拟ARM芯片+ Linux,例如qemu。
使用Docker试验功能buildx,可以构建多平台的镜像。
使用Docker buildx构建多个平台镜像