告别黑苹果!用docker安装MacOS体验苹果系统
没用过苹果电脑的朋友可能会对苹果系统好奇,有人甚至会为了尝鲜MacOS去折腾黑苹果。如果你只是想体验一下MacOS,这里有个更简单更优雅的解决方案Docker-OSX:用docker安装MacOS来体验苹果系统。

Docker-OSX是一个开源项目,而且支持多个版本的MacOS,比如说Catalina、Big Sur等。使用Docker部署Docker-OSX毕竟是运行一个系统,所以硬件上不能太差。如果没有高性能Linux主机,建议在电脑上通过WSL(Linux子系统)来安装,不建议在J1900这样的老爷机上去折腾。此外Docker-OSX需要用到虚拟机,所以还要部署一下KVM,这里给新手介绍一下。首先在BIOS中开启CPU虚拟化支持,然后在Linux系统中用如下命令测试是否支持硬件虚拟化(已经部署的可以略过这段):
grep -Eoc '(vmx|svm)' /proc/cpuinfo
#支持硬件虚拟化,则输出结果大于0
我们用cpu-checker这个工具来测试系统是否支持KVM安装:
sudo apt update
sudo apt install cpu-checker
kvm-ok
#如果支持KVM,输出结果为
KVM acceleration can be used
如果软硬件环境支持KVM,可以运行下面的命令安装 KVM和虚拟化管理软件包:
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager
软件包说明:
qemu-kvm - 为 KVM 管理程序提供硬件模拟的软件程序
libvirt-daemon-system - 将 libvirt 守护程序作为系统服务运行的配置文件
libvirt-clients - 用来管理虚拟化平台的软
bridge-utils - 用来配置网络桥接的命令行工具
virtinst - 用来创建虚拟机的命令行工具
virt-manager - 提供一个易用的图形界面,并且通过libvirt 支持用于管理虚拟机的命令行工具
程序安装好后可以通过运行下面的命令,验证ibvirt 守护程序:
sudo systemctl is-active libvirtd
#输入结果应为
active
安装好KVM运行docker就是一句命令的事情了,下面是官方给的镜像命令运行Catalina:
docker run -it
--device /dev/kvm
-p 50922:10022
-v /tmp/.X11-unix:/tmp/.X11-unix
-e "DISPLAY=${DISPLAY:-:0.0}"
sickcodes/docker-osx:latest
# docker build -t docker-osx .
由于容器镜像都比较大,拉取时间会比较久。而且部署镜像会占用较大的空间,注意预留空间避免部署失败。部署完成后会自动调用虚拟机窗口运行MacOS系统:

注意刚进入MacOS界面时是无法直接进入系统的,必须重新安装。首先选择最下面的磁盘管理工具:

按照下图把第一个虚拟磁盘格式化成APFS格式(或者参照网上教程格式化成其它对应格式):

然后关闭磁盘管理工具,返回之前界面。选择重新安装系统,选择你格式化的磁盘进行系统安装:

等系统安装完毕,你就可以体验苹果系统了,是不是比折腾黑苹果简单多了,而且系统随意换。根据官方文档,这个虚拟机MacOS不仅仅只是运行一个MacOS。还可以进行文件互通的,可以用如下命令设置:
# on Linux/Windows
mkdir ~/mnt/osx
sshfs user@localhost:/ -p 50922 ~/mnt/osx
# wait a few seconds, and ~/mnt/osx will have full rootfs mounted over ssh, and in userspace
# automated: sshpass -p sshfs user@localhost:/ -p 50922 ~/mnt/osx
甚至你愿意折腾,可以尝试把你的iPhone通过USB直通连接到这个MacOS。
我这里制作了一个安装运行测试,更多的折腾大家可以自己去试试!
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

ggwap
校验提示文案
莫道君
校验提示文案
大妖怪来了
校验提示文案
sjyh
校验提示文案
值友8943013669
校验提示文案
19楼的瓶子
校验提示文案
kaaye
校验提示文案
开灯吃肉
校验提示文案
Twilightlee
校验提示文案
诚鱼橙
校验提示文案
值友3188120266
校验提示文案
每108天允许修改一次
校验提示文案
天使之城0222
校验提示文案
值友4380834442
校验提示文案
值友4380834442
docker: Error response from daemon: driver failed programming external connectivity on endpoint wizardly_johnson (9ee4270d097e6e0d490c6cf4233057573be5d31db78fa91d980b087d7fd8ecd1): Error starting userland proxy: listen tcp4 0.0.0.0:50922: bind: address already in use.
ERRO[0001] error waiting for container: context canceled
校验提示文案
迪云
校验提示文案
六十六十六
校验提示文案
pandablue
校验提示文案
冲鸭冲鸭
校验提示文案
是小天才呀
校验提示文案
是小天才呀
校验提示文案
冲鸭冲鸭
校验提示文案
值友3188120266
校验提示文案
诚鱼橙
校验提示文案
19楼的瓶子
校验提示文案
pandablue
校验提示文案
六十六十六
校验提示文案
Twilightlee
校验提示文案
迪云
校验提示文案
值友4380834442
docker: Error response from daemon: driver failed programming external connectivity on endpoint wizardly_johnson (9ee4270d097e6e0d490c6cf4233057573be5d31db78fa91d980b087d7fd8ecd1): Error starting userland proxy: listen tcp4 0.0.0.0:50922: bind: address already in use.
ERRO[0001] error waiting for container: context canceled
校验提示文案
值友4380834442
校验提示文案
值友8943013669
校验提示文案
天使之城0222
校验提示文案
开灯吃肉
校验提示文案
kaaye
校验提示文案
每108天允许修改一次
校验提示文案
sjyh
校验提示文案
ggwap
校验提示文案
莫道君
校验提示文案
大妖怪来了
校验提示文案