在Intel机器(Mac)上为ARM体系结构构建Docker镜像

时间:2016-05-17 16:31:18

标签: docker arm raspberry-pi intel dockerfile

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

1 个答案:

答案 0 :(得分:2)

现在这有点令人费解。我相信在不久的将来,码头工作会更容易。

基本上你需要根据一个已经有qemu-arm-static二进制文件的容器构建一个包含。

通过查看使用travis直接构建图像的Raspberry Pi base image w/qemu-arm-static,您可以看到它是如何完成的。

我所做的基本上是在我的覆盆子pi构建我的基础docker镜像,添加了这个二进制文件并将其推送到docker-hub。

一旦我将该图像作为我的基础,我就可以在我的OSX机器上构建和运行从它派生的容器,包括构建新的派生容器,然后在我的覆盆子pi上运行它未经修改。

在我的覆盆子pi上,我使用这个Dockerfile构建了一个图像。我开始使用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我知道有一个我可以在我的英特尔机器上构建的容器,并在我的覆盆子pi上运行。

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