如果 M1 上的 Docker Desktop 使用 QEMU 进行模拟,为什么还需要 Rosetta?

问题描述 投票:0回答:1

为Apple Silicon安装Docker Desktop时,官方说明说:

您必须安装 Rosetta 2,因为某些二进制文件仍然是 Darwin/AMD64。

但是,如果我理解正确的话,基于 Intel 的容器实际上使用 QEMU 进行模拟而不是 Rosetta

但是,尝试在模拟下的 Apple Silicon 计算机上运行基于 Intel 的容器可能会崩溃,因为 qemu 有时无法运行容器。

(这是 Docker 在 M1 上运行非本机容器时慢的原因之一。)

那么 Docker 实际上使用 Rosetta 来做什么?

docker qemu apple-m1
1个回答
0
投票

根据 发行说明,自版本 4.3.0 起:

Apple 芯片上的 Docker Desktop 不再需要 Rosetta 2。

已知问题中有两个例外:

未安装 Rosetta 2 时,某些命令行工具无法运行。

  • 旧版本 1.x 的 docker-compose。请改用 Compose V2。
  • docker-credential-ecr-login 凭证助手。

还有一个使用 Rosetta 运行 x86-64 容器的 开放问题

© www.soinside.com 2019 - 2024. All rights reserved.