本文档提供了Docker-OSX的技术概述,这是一个在Linux和Windows(通过WSL2)主机上运行macOS的系统。它解释了Docker-OSX系统的架构、组件和操作流程。
有关安装和使用说明,请参阅安装和基本用法。有关特定镜像变体的详细信息,请参阅镜像变体。
Docker-OSX允许用户出于各种目的在容器化环境中运行macOS
该系统通过KVM硬件加速、X11转发GUI应用程序以及对iPhone USB连接的支持,提供了接近原生的性能。
来源: README.md1-5 README.md483-492
Docker-OSX集成了多种技术,在Docker容器内创建了一个可运行的macOS环境
系统架构包括:
来源: README.md6-40 README.md426-458
Docker-OSX提供了多种镜像变体以支持不同的用例
| 镜像标签 | 描述 | 主要功能 | 典型用例 |
|---|---|---|---|
最新版 | 带有macOS安装程序的base镜像 | 支持各种macOS版本 | 开发、研究 |
naked | 需要用户提供的磁盘映像 | 可定制安装 | 自定义配置 |
自动版 (auto) | 预装macOS并实现自动化 | 自动登录 | CI/CD、自动化测试 |
vnc | 启用VNC以进行远程访问 | 远程图形界面 | 无头服务器 |
| 特定版本 | 特定的macOS版本 | 针对特定版本优化 | 依赖于版本的作业 |
来源: README.md57-204 README.md431-482
当Docker-OSX容器启动时,它会执行一系列步骤来初始化和启动macOS
此过程强调了容器初始化期间可用的自定义选项,特别是关于系统身份(序列号),这对于iMessage和其他Apple服务研究至关重要。
来源: README.md589-696 README.md211-259
Docker-OSX可以通过环境变量、卷挂载和自定义磁盘映像进行广泛的自定义
| 可变 | 目的 | 示例 | 默认 |
|---|---|---|---|
内存 | 内存分配 | RAM=8 | 3GB |
CPU | CPU型号 | CPU=Haswell-noTSX | 主机 |
CPUS/SMP | CPU核心数 | CPUS=4 | 4 |
DISPLAY | X11显示 | DISPLAY=:0.0 | 主机的$DISPLAY |
GENERATE_UNIQUE | 生成唯一序列号 | GENERATE_UNIQUE=true | 未设置 |
SHORTNAME | macOS 版本 | SHORTNAME=monterey | catalina |
来源: README.md737-784 README.md60-156
Docker-OSX可以通过不同方法在各种环境中部署
该系统支持三种主要的部署方法
docker run命令来源: README.md514-522 README.md574-785
Docker-OSX提供了几个重要功能
来源: README.md483-495 README.md274-366
有关常见问题排查,请参阅排查。