从 docker 容器(在我的例子中运行基于 Debian Busty 的映像)中,如何检测它是否在 QEMU 模拟下运行(如在 ARM Mac 上运行 AMD64 映像)?
从非 docker 的角度来看,我看到了cpuinfo可能会出现这种情况的建议,但当从容器内部运行时,它不会产生任何与 QEMU 直接相关的内容:
$ docker run -it --entrypoint /bin/bash debian-buster-based-amd64-image
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
root@c93f6a8ec754:/app# cat /proc/cpuinfo
processor : 0
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit …Run Code Online (Sandbox Code Playgroud)