菜单

发布历史

相关源文件

本页面记录了 Docker-OSX 通过版本发布和重大变更的按时间顺序演变。它提供了项目自初始发布以来的发展历程的全面概述,重点介绍了随着时间的推移实施的关键功能、改进和架构更改。有关当前可用镜像变体的更多信息,请参阅 镜像变体

概述时间线

以下时间线展示了 Docker-OSX 的主要版本及其发布日期,并重点介绍了项目开发中的关键里程碑。

来源: CHANGELOG.md3-5 CHANGELOG.md12-22 CHANGELOG.md42-44 CHANGELOG.md31-37 CHANGELOG.md55-64

功能演进

此图表展示了 Docker-OSX 开发过程中关键功能的添加和增强情况。

来源: CHANGELOG.md3-64

详细版本历史

版本 1.0 (2020 年 6 月 4 日)

Docker-OSX 的初始发布奠定了使用 QEMU/KVM 在 Docker 容器中运行 macOS 的基础架构。

来源: CHANGELOG.md64

版本 2.x 系列 (2020 年 6 月 - 2021 年 1 月)

版本 2.0 (2020 年 6 月 15 日)

  • 将默认 macOS 版本从 10.14.6 (Mojave) 更改为 10.15.5 (Catalina)
  • 添加了容器内到客户机的 SSH 端口转发
  • 将默认磁盘大小增加到 200GB
  • 添加了可自定义的 RAM、SMP、CPU 配置
  • 添加了自定义 Launch.sh 脚本

版本 2.5-2.7 (2020 年 9 月 - 2021 年 1 月)

  • 由于上游大修,TigerVNC 进行了关键更改
  • 添加了屏幕共享端口转发
  • 用 iptables-nft 替换了 iptables
  • 显著减小了镜像大小
    • 使用后清除了 pacman 缓存
    • 为内联变量添加了 shell 扩展
    • 添加了 TCG 加速作为 KVM 的备用方案
    • 移除了显示器需求(后恢复)
    • 将镜像从 6GB 减小到 3.5GB

来源: CHANGELOG.md42-63

版本 3.x 系列 (2021 年 1 月 - 2021 年 2 月)

版本 3.0 (2021 年 1 月 23 日)

  • 直接在 shell 中添加了快速启动模式
  • 支持通过 -v $PWD/disk.img:/image 挂载磁盘映像

版本 3.1-3.2 (2021 年 2 月)

  • 向所有镜像添加了 NOPICKER 环境变量
  • 添加了 MAC_ADDRESS 环境变量
  • 添加了生成唯一机器序列号的脚本
  • 添加了使用特定序列号生成启动磁盘的脚本
  • 添加了 libguestfs 用于创建启动磁盘

来源: CHANGELOG.md22-37

版本 4.x 系列 (2021 年 2 月 - 2021 年 5 月)

版本 4.0 (2021 年 2 月 27 日)

  • 添加了 Big Sur 支持:sickcodes/docker-osx:big-sur
  • 将 NOPICKER 行为更改为修改 Launch.sh 并使用特定的 OpenCore 启动磁盘

版本 4.1-4.3 (2021 年 3 月)

  • 向所有镜像添加了 MASTER_PLIST_URL
  • 添加了 WIDTH 和 HEIGHT 设置以控制分辨率
  • 添加了 ADDITIONAL_PORTS 用于自定义端口转发
  • 添加了动态 RAM 分配,支持 RAM=max 和 RAM=half 选项
  • 重新启用了交互式 QEMU

版本 4.4 (2021 年 5 月 6 日)

  • 添加了 BOOT_ARGS 环境变量以用于其他启动参数
  • 添加了 CPU 环境变量以更改 CPU 仿真类型(例如,Skylake-Client)
  • 为 Docker Hub 准备了 nakedvnc

来源: CHANGELOG.md7-22

版本 5.0 (2021 年 7 月 25 日)

  • 淘汰了 glibc 补丁
  • 淘汰了 file 命令补丁
  • 添加了 bootmenu=on 功能

来源: CHANGELOG.md6

版本 6.0 (2021 年 8 月 25 日)

  • 添加了 naked-auto 变体(自带磁盘的自动化)
  • 内核保持在 5.13
  • 添加了 iPhone 直通支持 (2021 年 8 月 27 日)

来源: CHANGELOG.md3-5

近期更新 (2021 年 9 月及以后)

  • 添加了 Monterey 支持 (2021 年 9 月 9 日)

来源: CHANGELOG.md3

镜像变体演进

以下图表展示了不同镜像变体随时间的引入情况。

来源: CHANGELOG.md3-5 CHANGELOG.md20 CHANGELOG.md25 CHANGELOG.md31 CHANGELOG.md61

按版本划分的关键功能添加

版本发布日期添加了关键功能支持的 macOS 版本
1.02020-06-04初始发布Catalina (10.15)
2.02020-06-15SSH 端口转发,可自定义的资源Catalina (10.15)
2.52020-09-20屏幕共享,TigerVNC 改进Catalina (10.15)
2.6-2.72020-09-26减小了镜像大小,性能优化Catalina (10.15)
3.02021-01-23快速启动模式,卷挂载Catalina (10.15)
3.22021-02-25序列号生成,NOPICKER 选项Catalina (10.15)
4.02021-02-27Big Sur 支持Catalina (10.15),Big Sur (11)
4.12021-03-04分辨率控制,自定义 plist 支持Catalina (10.15),Big Sur (11)
4.2-4.32021-03-24动态 RAM 分配,磁盘格式选项Catalina (10.15),Big Sur (11)
4.42021-05-06CPU 仿真选项,启动参数Catalina (10.15),Big Sur (11)
5.02021-07-25Bootmenu,已淘汰的补丁Catalina (10.15),Big Sur (11)
6.02021-08-25Naked-auto 变体,iPhone 直通Catalina (10.15),Big Sur (11)
(更新)2021-09-09Monterey 支持Catalina (10.15),Big Sur (11),Monterey (12)

来源: CHANGELOG.md3-64

核心脚本演进

主要的启动脚本(Launch.sh)随着时间的推移得到了显著发展,在以下方面进行了关键增强:

  • 启动流程自定义 (NOPICKER 选项)
  • 资源分配 (RAM、CPU 核心)
  • 设备直通 (音频、USB)
  • 序列号处理
  • 启动参数

来源: CHANGELOG.md8-13 CHANGELOG.md21-22 CHANGELOG.md31 CHANGELOG.md55

总结

Docker-OSX 已从运行 macOS Catalina 的基本容器发展成为一个支持多个 macOS 版本(Catalina、Big Sur、Monterey)并提供广泛自定义选项的复杂平台。此演进的关键方面包括:

  1. 扩展 macOS 支持:从 Catalina 到 Big Sur 再到 Monterey
  2. 镜像变体:引入了专门的变体(naked、auto、vnc、naked-auto)
  3. 资源自定义:动态 RAM 分配、CPU 选择和分辨率控制
  4. 集成功能:iPhone 直通、SSH、VNC 和屏幕共享
  5. 性能改进:减小了镜像大小,优化了启动过程
  6. 系统识别:用于 iCloud/iMessage 的序列号生成和自定义

该项目仍在不断发展,持续支持新的 macOS 版本和扩展的自定义选项。

来源: CHANGELOG.md3-64