通过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 的文件夹。
    图片1
    图片1
  2. 打开 Docker,切换到 Compose 选择 新增项目,把下面 Compose 文件内容粘贴到窗口 yml 中。
    图片2

    图片2

    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 即可访问。首次打开和实体机黑苹果一样,需要较为繁琐的初始化设置,这里它会先联网下载一些系统必备文件。
    图片3
    图片3
  2. 如下图所示,左上角位置选择简体中文后,点击屏幕中间的磁盘工具。
    图片4
    图片4

    图片5
    图片5
  3. 选择容量最大的那块虚拟硬盘,点击【抹掉】。格式和分区方案默认就行。
    图片6
    图片6
  4. 返回后点击屏幕中间的第二栏重新安装并继续。
    图片7
    图片7
  5. 点击继续,中间例如用户协议等无关紧要的操作就略过了。选择刚刚初始化完毕的虚拟磁盘继续。
    图片8
    图片8
  6. 接着便是漫长的等待时间,等进度条跑完之后它会自动重启接着安装。
    图片9
    图片9
  7. 选择国家地区,中国大陆在最下面,拉到底。
    图片10
    图片10
  8. 很多配置,我们直接选择稍后设置就行。
    图片11
    图片11
  9. Apple ID 选择 稍后设置。
    图片12
    图片12
  10. 剩下的设置帐户名和杂项都可以根据自己喜好设置,此教程就到此为止。
    图片13
    图片13