在 Intel 机器 (Mac) 上构建 ARM 架构的 Docker 镜像

2024-06-19

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


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

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

您可以通过查看来了解它是如何完成的带 qemu-arm-static 的 Raspberry Pi 基础镜像 https://github.com/sedden/docker-rpi-raspbian-qemu它直接使用 travis 构建图像。

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

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

在我的树莓派上,我使用这个 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,我就知道我可以在我的英特尔机器上构建一个容器,并在我的树莓派上运行和构建。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Intel 机器 (Mac) 上构建 ARM 架构的 Docker 镜像 的相关文章

随机推荐