在Intel机器上为ARM架构构buildDocker镜像(Mac)

我希望能够从我的Mac为ARM构build一个Docker镜像。 我知道我可以使用QEMU在我的Mac上运行ARM容器,但我无法弄清楚如何为ARM构build。

这现在有点复杂了。 我相信在不久的将来,Docker将会使它变得更容易。

基本上你需要build立一个基于一个已经有qemu-arm-static二进制文件的容器。

您可以通过查看树莓派基本映像w / qemu-arm-static(使用travis直接构build映像)来了解它是如何完成的。

我所做的基本上是在我的树莓派基础上build立了我的基础docker图像,并添加了这个二进制码,并将其推送到docker集线器。

一旦我有了这个图像作为我的基础,我可以在我的OSX机器上构build并运行派生的容器,包括构build新的派生容器,然后在我的覆盆子派的未修改的运行。

在我的树莓派我使用这个Dockerfilebuild立一个图像。 我开始与hypriot的基地高山形象。 你应该可以使用任何你想要的基础图像。

FROM hypriot/rpi-alpine-scratch RUN apk update && \ apk upgrade && \ apk add bash && \ rm -rf /var/cache/apk/* COPY qemu-arm-static /usr/bin/qemu-arm-static CMD ["/bin/bash"] 

一旦我把它推到Dockerhub,我知道有一个容器,我可以build立在我的英特尔机器上,运行并build立在我的覆盆子pi。

qemu-arm-static二进制文件是通过启动debian i386 docker容器,安装qemu-user-static并复制二进制文件。