本文最后更新于 2025-10-17,文章内容可能已经过时。

通过Docker容器化技术,我们不仅可以在操作系统上灵活地部署各种应用,还可以在硬件资源有限的环境中实现复杂的操作。这篇文章将使用Docker在飞牛NAS上部署黑苹果项目 Docker-OSX,特别是最新的MacOS 15系统,为您提供了一个在非Apple硬件设备上体验MacOS的方案。

Docker-OSX 特性亮点

Docker-OSX 在 Docker 容器中直接运行 MacOS 系统的免费开源工具,它具有以下特性亮点:

• 支持多种 macOS 版本(从 High Sierra 到 Sequoia),包括 Catalina、Big Sur、Monterey、Ventura、Sonoma 等。 • 基于 QEMU/KVM 实现接近原生性能的虚拟化,支持硬件加速。 • 可在 Linux 和 Windows(通过 WSL2)上运行 macOS 容器,适合需要 macOS 开发或安全研究的场景。 • 支持 X11 转发(通过 -v /tmp/.X11-unix 映射显示套接字)。 • 提供 VNC 和 SPICE 协议访问图形界面,支持远程调试。 • 默认开启 SSH 服务(端口映射 50922:10022),可通过 ssh user@localhost -p 50922 登录。 • USB 透传:通过 usbfluxd 实现 USB 设备(如 iPhone)直通 macOS 容器。 • 支持 GPU 加速(需配置 QEMU 参数)。

Docker-OSX 部署

部署的必要条件: • 支持x86_64架构的CPU • 启用虚拟化功能的主板 • 至少需要64GB的SSD以确保系统的流畅运行、 • 建议不低于8GB的RAM并推荐12GB以获得更好的性能 开始部署:

  1. 先打开 fnOS 的文件管理,创建存储 MacOS 的文件夹。

  2. 打开 Docker,切换到 Compose 选择 新增项目,把下面 Compose 文件内容粘贴到窗口 yml 中。 Compose 文件:

version: "3.8"
services:
    docker-osx:
        stdin_open:true
        tty:true
        devices:
            -/dev/kvm
        ports:
            -50922:10022
        volumes:
            -/vol1/1000/Dockers/MacOS/.X11-unix:/tmp/.X11-unix
        environment:
            -DISPLAY=${DISPLAY:-:0.0}
            -GENERATE_UNIQUE=true
            -CPU=Haswell-noTSX
            -CPUID_FLAGS=kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on
            -MASTER_PLIST_URL=https://raw.githubusercontent.com/sickcodes/osx-serial-generator/master/config-custom-sonoma.plist
            -SHORTNAME=sequoia
        image: sickcodes/docker-osx:latest

等待部署成功,返回 Docker 查看容器是否正常运行。

安装macOS

  1. 部署完毕后,浏览器输入 NAS_IP:50922 即可访问。首次打开和实体机黑苹果一样,需要较为繁琐的初始化设置,这里它会先联网下载一些系统必备文件。

  2. 如下图所示,左上角位置选择简体中文后,点击屏幕中间的磁盘工具。

  3. 选择容量最大的那块虚拟硬盘,点击【抹掉】。格式和分区方案默认就行。

  4. 返回后点击屏幕中间的第二栏重新安装并继续。

  5. 点击继续,中间例如用户协议等无关紧要的操作就略过了。选择刚刚初始化完毕的虚拟磁盘继续。

  6. 接着便是漫长的等待时间,等进度条跑完之后它会自动重启接着安装。

  7. 选择国家地区,中国大陆在最下面,拉到底。

  8. 很多配置,我们直接选择稍后设置就行。

  9. Apple ID 选择 稍后设置。

  10. 剩下的设置帐户名和杂项都可以根据自己喜好设置,此教程就到此为止。