Mac 上 Docker Desktop 的虚拟机管理器
Docker Desktop 支持多种虚拟机管理器 (VMM),以支持运行容器的 Linux VM。您可以根据系统架构(Intel 或 Apple Silicon)、性能需求和功能要求选择最合适的选项。本页面概述了可用选项。
要更改 VMM,请转到 **设置** > **通用** > **虚拟机管理器**。
Docker VMM
Docker VMM 是一种新的、针对容器优化的 hypervisor。通过优化 Linux 内核和 hypervisor 层,Docker VMM 在常见的开发任务中提供了显著的性能增强。
Docker VMM 提供的一些主要性能增强包括:
- 更快的 I/O 操作:在冷缓存的情况下,使用 `find` 迭代大型共享文件系统比使用 Apple 虚拟化框架快 2 倍。
- 改进的缓存:在热缓存的情况下,性能可以提高多达 25 倍,甚至超过原生 Mac 操作。
这些改进直接影响到那些在容器化开发过程中频繁访问文件和整体系统响应速度的开发者。Docker VMM 标志着速度的显著飞跃,实现了更流畅的工作流程和更快的迭代周期。
注意Docker VMM 要求为 Docker Linux 虚拟机分配至少 4GB 内存。在启用 Docker VMM 之前需要增加内存,这可以在“**设置**”中的“**资源**”选项卡中完成。
已知问题
由于 Docker VMM 仍处于 Beta 阶段,存在一些已知限制:
- Docker VMM 目前不支持 Rosetta,因此 amd64 架构的仿真速度较慢。Docker 正在探索潜在的解决方案。
- 某些数据库,如 MongoDB 和 Cassandra,在使用 virtiofs 和 Docker VMM 时可能会失败。此问题预计将在未来版本中解决。
Apple 虚拟化框架
Apple 虚拟化框架是 Mac 上管理虚拟机的稳定且成熟的选项。多年来,它一直是许多 Mac 用户可靠的选择。该框架最适合那些倾向于采用经过验证、性能稳定且兼容性广泛的解决方案的开发人员。
Apple Silicon 的 QEMU(旧版)
注意QEMU 已在 4.44 及更高版本中弃用。欲了解更多信息,请参阅博客公告
QEMU 是 Apple Silicon Mac 的旧版虚拟化选项,主要支持旧版用例。
Docker 建议过渡到更新的替代方案,例如 Docker VMM 或 Apple 虚拟化框架,因为它们提供卓越的性能和持续支持。特别是 Docker VMM,提供了显著的速度提升和更高效的开发环境,使其成为使用 Apple Silicon 的开发人员的引人注目的选择。
请注意,这与在多平台构建中使用 QEMU 模拟非原生架构无关。
基于 Intel 的 Mac 的 HyperKit(旧版)
注意HyperKit 将在未来版本中弃用。
HyperKit 是另一个旧版虚拟化选项,专门针对基于 Intel 的 Mac。与 QEMU 一样,它仍然可用但已被弃用。Docker 建议切换到现代替代方案,以获得更好的性能并使您的设置面向未来。