Docker是如何知道模仿arm架构的?

Docker是如何知道模仿arm架构的?,docker,raspberry-pi,debian,cross-compiling,raspbian,Docker,Raspberry Pi,Debian,Cross Compiling,Raspbian,这对我来说是一个巨大的惊喜: 今天,我使用Docker For Mac(18.03.1-ce-mac65),运行了一个Debian Stretch映像。在图像内部,我使用mount安装了最新的Raspbian Stretch图像(2018-04-18-Raspbian-Stretch-lite)。然后我对这个挂载的Raspbian文件系统使用了chroot 这就是它变得奇怪的地方。我能够使用apt(无需任何特殊修改)将软件安装到这个挂载的文件系统中 运行: dpkg——打印体系结构 返回:ar

这对我来说是一个巨大的惊喜:

今天,我使用Docker For Mac(18.03.1-ce-mac65),运行了一个Debian Stretch映像。在图像内部,我使用
mount
安装了最新的Raspbian Stretch图像(2018-04-18-Raspbian-Stretch-lite)。然后我对这个挂载的Raspbian文件系统使用了
chroot

这就是它变得奇怪的地方。我能够使用
apt
(无需任何特殊修改)将软件安装到这个挂载的文件系统中

运行:

dpkg——打印体系结构

返回:
armfh
我安装的软件(
vim
)工作起来很有魅力

我甚至能够使用
gcc
编译一个简单的程序并运行它

但是,我需要知道!这怎么可能呢?

根据:

Docker for Mac提供binfmt_misc多体系结构支持,因此您可以为不同的Linux体系结构运行容器,例如arm、mips、ppc64le,甚至s390x

编辑


在Linux上,您可以安装
qemu user static
,然后遵循git repo获得跨架构支持

它开始看起来像Mac的Docker运行QEMU。。。