【发布时间】:2020-10-29 11:35:56
【问题描述】:
我的 mac 使用 x86_64 硬件,理论上我应该无法运行为 armv7 构建的 docker 映像。
但是
Docker Desktop 提供 binfmt_misc 多架构支持,这意味着您可以为不同的 Linux 架构运行容器,例如 arm、mips、ppc64le 甚至 s390x。
这不需要容器本身的任何特殊配置,因为它使用来自 Docker for Mac VM 的 qemu-static。
我也在阅读像 this one 这样的文章,这些文章证实了上述内容docker run -it --rm arm32v7/debian /bin/bash
应该在 mac 上工作,虽然它不适合我:
Unable to find image 'arm32v7/debian:latest' locally
latest: Pulling from arm32v7/debian
Digest: sha256:9b61eaedd46400386ecad01e2633e4b62d2ddbab8a95e460f4e0057c612ad085
Status: Image is up to date for arm32v7/debian:latest
docker: Error response from daemon: image with reference arm32v7/debian was found but does not match the specified platform cpu architecture: wanted: amd64, actual: arm.
See 'docker run --help'.
我想知道我是否误会了什么。
Docker 桌面社区版本 2.4.2.0 (48975) edge
Docker 版本 20.10.0-beta1,构建 ac365d7
MacOS 版本 10.15.7 (19H2)
注意:在研究主题时我尝试使用 qemu 并运行:docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
这可能会干扰默认行为。
【问题讨论】: