在 Docker 中运行 macOS

在 Docker 中运行 macOS 是可能的,尽管有人反对说这是不可能的,而且据说 macOS 有某种保护系统可以抵抗这种情况。

历史上,在 PC 机上运行 macOS 的一些经典方法是:
*黑客塔
* 虚拟化,例如使用VMWare

Hackintosh 假设存在与原始 Mac 相似或非常接近的硬件。虚拟化对硬件有一定的要求,但通常不像 Hackintosh 那样严格。然而,在虚拟化的情况下,存在性能问题,因为 macOS 并未针对在虚拟环境中工作进行优化。

最近,在 Docker 中运行 macOS 已经成为可能。这是通过 Docker-OSX 项目实现的,该项目提供现成的 macOS 映像以在 Docker 上运行。值得注意的是,Docker-OSX 不是苹果官方项目,不受其支持。但是,它允许您在 Docker 上运行 macOS 并使用它来开发和测试应用程序。

首批在 Docker 中运行 macOS 的项目之一:
https://github.com/sickcodes/Docker-OSX

然而,我始终无法完全启动它;加载到 Recovery OS 后,我的键盘和鼠标直接掉落,无法继续安装。同时,在第一个启动菜单中,键盘起作用。也许事实是这个项目不再受到如此积极的支持,并且在 Windows 11 + WSL2 + Ubuntu 上运行时存在一些特定问题。

目前最活跃的项目之一:
https://github.com/dockur/macos

允许您在 Docker 中运行 macOS,界面通过 VNC(?) 转发通过浏览器工作。启动后,macOS 可访问 http://localhost:5900

我设法运行这个项目并在 Windows 11 + WSL2 + Ubuntu 上安装 macOS Big Sur(2020 分钟),但只能通过更改 compose 文件来实现,即:

environment:
    VERSION: "11"
    RAM_SIZE: "8G"
    CPU_CORES: "4"

版本:“11”是 macOS 的版本,在本例中为 Big Sur
RAM_SIZE:“8G”是为 macOS 分配的 RAM 量
CPU_CORES:“4”是分配给macOS的CPU核心数

目前,运行 macOS tahoe (16) 也是可能的,但项目开发人员正在努力解决许多问题。

这种启动 macOS 的原始方式允许您在非 Mac 硬件上尝试它,并在受够了痛苦后,再给自己买一台 Mac。但是,它对于在旧系统上测试软件和一般开发很有用。