最近由于开发需求,需要在macOS平台下测试和验证开发的应用。奈何手头上没有苹果电脑,又囊中羞涩。于是考虑在单位工作站上安装macOS虚拟机以解燃眉之急。

之前尝试了通过VirtualBox安装,无奈以失败告终。后来看到有大佬通过Docker安装macOS12,遂尝试下。

1. 安装Docker

通过以下命令安装Docker Engine。

sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker

需要确保宿主机上的KVM虚拟化已开启并已添加权限,运行以下命令。

sudo chmod 666 /dev/kvm

2. 拉取macOS镜像

运行以下命令拉取 dockurr/macos 镜像:

docker pull dockurr/macos

国内可以通过镜像地址加速3

docker pull docker.1ms.run/dockurr/macos

3. Docker运行权限问题

如果出现permission denied的问题,除了提权sudo运行外,可以将当前用户加入docker组内,重启后解决。

# 检查是否存在 Docker 用户组
cat /etc/group | grep docker
# 如果不存在,则创建 Docker 用户组
sudo groupadd docker
# 将当前用户添加到 Docker 用户组
sudo gpasswd -a $USER docker
# 更新用户组
newgrp docker

4. 运行 Docker 容器

使用以下命令启动 macOS 容器,可以将其保存为脚本方便调用。如果是国内使用镜像地址下载的话,记得把最后的dockurr/macos换成带镜像地址的链接,例如docker.1ms.run/dockurr/macos

docker run -it --rm --name macos -p 8006:8006 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN -v "${PWD:-.}/macos:/storage" --stop-timeout 120 dockurr/macos

如果是第一次运行上面的命令或脚本,会从源上下载恢复镜像,然后进入安装。

5. 通过 Web 浏览器访问

启动容器后,打开浏览器访问 http://localhost:8006,将入 macOS 的安装界面。

2025-10-15 16-56-53.png
等待启动完成,正常安装即可。
2025-10-15 17-07-37.png