ken*_*ong 11 qemu docker apple-m1
在为Apple Silicon安装Docker Desktop时,官方说明说:
您必须安装 Rosetta 2,因为某些二进制文件仍然是 Darwin/AMD64。
但是,如果我理解正确的话,基于 Intel 的容器实际上使用 QEMU 进行模拟,而不是 Rosetta:
然而,尝试在模拟下的 Apple Silicon 机器上运行基于 Intel 的容器可能会崩溃,因为 qemu 有时无法运行容器。
(这是 Docker在 M1 上运行非本机容器时速度缓慢的原因之一。)
那么 Docker 实际上使用 Rosetta 做什么呢?
Rosetta 用于运行 Docker 本身,但根据发行说明,从版本 4.3.0 开始:
Apple 芯片上的 Docker Desktop 不再需要 Rosetta 2。
已知问题中有两个例外:
未安装 Rosetta 2 时,某些命令行工具无法运行。
- docker-compose 的旧版本 1.x。请改用 Compose V2。
- docker-credential-ecr-login 凭证助手。
对于容器,使用 qemu,但使用 Rosetta 运行 x86-64 容器存在一个悬而未决的问题。
要在 Apple M1 上运行 x86-64 容器,您可以安装 x86-64 版本的podman并使用 Rosetta 运行它。
| 归档时间: |
|
| 查看次数: |
10909 次 |
| 最近记录: |