在英特尔计算机(Mac)上为ARM体系结构构建Docker映像

在英特尔计算机(Mac)上为ARM体系结构构建Docker映像,docker,arm,raspberry-pi,intel,dockerfile,Docker,Arm,Raspberry Pi,Intel,Dockerfile,我希望能够从我的Mac上为ARM建立一个Docker映像。我知道我可以使用QEMU在Mac上运行ARM容器,但我不知道如何为ARM构建容器。现在这有点复杂。我相信在不久的将来,docker会让这一切变得更容易 基本上,您需要基于已经包含qemu arm静态二进制文件的容器构建一个包含 您可以通过查看使用travis直接构建图像的方式来了解它是如何完成的 我所做的基本上是在我的raspberry pi上用这个二进制文件构建我的基本docker映像,并将其推送到docker中心 一旦我有了这个图像作

我希望能够从我的Mac上为ARM建立一个Docker映像。我知道我可以使用QEMU在Mac上运行ARM容器,但我不知道如何为ARM构建容器。

现在这有点复杂。我相信在不久的将来,docker会让这一切变得更容易

基本上,您需要基于已经包含qemu arm静态二进制文件的容器构建一个包含

您可以通过查看使用travis直接构建图像的方式来了解它是如何完成的

我所做的基本上是在我的raspberry pi上用这个二进制文件构建我的基本docker映像,并将其推送到docker中心

一旦我有了这个图像作为我的基础,我就可以在我的OSX机器上构建和运行从它派生的容器,包括构建新的派生容器,然后在我的raspberry pi的未修改的机器上运行它

在我的raspberry 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上,我就知道有一个容器可以基于我的intel机器构建,并在我的raspberry pi上运行和构建


通过启动debian i386 docker容器,安装
qemu user static
并将二进制文件复制出来,我得到了qemu arm静态二进制文件。

您可能会对我得到的类似问题的答案感兴趣: