Docker-OSX 的 Auto Image 变体提供了一个预装 macOS 环境,并具备自动化功能。此镜像已预装 macOS,配置了 SSH,并支持自动登录,非常适合 CI/CD 流水线、无头操作和自动化测试环境。要自定义您自己的磁盘映像,请参阅 Naked Image,对于自定义磁盘和自动化相结合的方案,请参阅 Naked-Auto Image。
user,密码:alpine)OSX_COMMANDS 环境变量进行命令自动化来源:Dockerfile.auto43-45 Dockerfile.auto127-141 Dockerfile.auto262-284
运行 Auto Image 并显示图形界面
适用于没有显示器的 CI/CD 流水线或服务器环境
启动后在 macOS 中自动执行命令
来源:README.md692-701 Dockerfile.auto282-284
Auto Image 容器遵循特定的启动顺序以提供其自动化功能
Auto Image 变体通过环境变量提供了广泛的配置选项
| 环境变量 | 默认 | 描述 |
|---|---|---|
内存 | 3 | 分配给虚拟机的 RAM(GB)(也可以是 max 或 half) |
CPU | Penryn | 要模拟的 CPU 类型 |
KVM | accel=kvm:tcg | KVM 加速选项 |
网络 | vmxnet3 | 网络适配器类型 |
| 环境变量 | 默认 | 描述 |
|---|---|---|
HEADLESS | false | 使用 Xvfb 无头运行 |
DISPLAY | :99 | 使用的 X11 显示 |
WIDTH | 1920 | 屏幕宽度(需要 GENERATE_UNIQUE=true 或 GENERATE_SPECIFIC=true) |
HEIGHT | 1080 | 屏幕高度(需要 GENERATE_UNIQUE=true 或 GENERATE_SPECIFIC=true) |
| 环境变量 | 默认 | 描述 |
|---|---|---|
USERNAME | user | macOS SSH 登录用户名 |
PASSWORD | alpine | macOS SSH 登录密码 |
| 环境变量 | 默认 | 描述 |
|---|---|---|
GENERATE_UNIQUE | false | 生成随机序列号 |
GENERATE_SPECIFIC | false | 使用特定序列号 |
DEVICE_MODEL | - | 设备型号标识符(例如:iMacPro1,1) |
SERIAL | - | 设备序列号 |
BOARD_SERIAL | - | 主板序列号 |
UUID | - | 系统 UUID |
MAC_ADDRESS | - | 网络适配器 MAC 地址 |
来源:Dockerfile.auto151-204 Dockerfile.auto232-255
Auto Image 可以为您的 macOS 虚拟机生成唯一的序列号,这对于 iMessage/iCloud 激活特别有用
来源:Dockerfile.auto232-255 README.md1282-1296 README.md1297-1325
Auto Image 变体特别适合
Auto Image 使用一个预制的 QCOW2 磁盘映像(约 20GB),其中包含
该映像由 QEMU 加载,可通过 X11 转发或 SSH 访问。
容器会自动
OSX_COMMANDS 中指定的任何命令,或打开交互式会话SSH 连接失败:
无头模式下的显示问题:
-e DISPLAY=:99性能问题:
-e RAM=4 或更高版本增加 RAM 分配-e CPU=Haswell 或其他型号调整 CPU 设置序列号生成失败:
-e GENERATE_SPECIFIC=true 时,请确保提供了所有必需的参数Docker-OSX 的 Auto Image 变体提供了一种简化的方式来在容器中运行 macOS,并具备自动化能力。其预装性质和 SSH 配置使其成为 CI/CD 环境、无头服务器和自动化测试场景的理想选择。通过利用各种配置选项,您可以自定义环境以满足您的特定需求,同时保留容器化的优势。