通过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以获得更好的性能
开始部署:
- 先打开 fnOS 的文件管理,创建存储 MacOS 的文件夹。
图片1 打开 Docker,切换到 Compose 选择 新增项目,把下面 Compose 文件内容粘贴到窗口 yml 中。
图片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
- 部署完毕后,浏览器输入 NAS_IP:50922 即可访问。首次打开和实体机黑苹果一样,需要较为繁琐的初始化设置,这里它会先联网下载一些系统必备文件。
图片3 - 如下图所示,左上角位置选择简体中文后,点击屏幕中间的磁盘工具。
图片4
图片5 - 选择容量最大的那块虚拟硬盘,点击【抹掉】。格式和分区方案默认就行。
图片6 - 返回后点击屏幕中间的第二栏重新安装并继续。
图片7 - 点击继续,中间例如用户协议等无关紧要的操作就略过了。选择刚刚初始化完毕的虚拟磁盘继续。
图片8 - 接着便是漫长的等待时间,等进度条跑完之后它会自动重启接着安装。
图片9 - 选择国家地区,中国大陆在最下面,拉到底。
图片10 - 很多配置,我们直接选择稍后设置就行。
图片11 - Apple ID 选择 稍后设置。
图片12 - 剩下的设置帐户名和杂项都可以根据自己喜好设置,此教程就到此为止。
图片13
评论区