告别黑苹果!用docker安装MacOS体验苹果系统

用docker安装MacOS体验苹果系统

预先安装docker

复制代码
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo apt update

sudo apt-get remove docker docker-engine docker.io
sudo apt-get remove docker docker-engine docker.io containerd runc

sudo apt-get update  
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \
  $(lsb_release -cs) \
  stable"

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

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

Docker-OSX是一个开源项目,而且支持多个版本的MacOS,比如说Catalina、Big Sur等。使用Docker部署Docker-OSX毕竟是运行一个系统,所以硬件上不能太差。如果没有高性能Linux主机,建议在电脑上通过WSL(Linux子系统)来安装,不建议在老爷机上去折腾。此外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系统:

复制代码
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 
相关推荐
码间留白5 小时前
手把手把 GitHub 推上阿里云 ECS:Actions CI/CD 全链路避坑实录(折腾好几天,到 2 分钟见绿)
运维·阿里云·ci/cd·docker·devops·github actions
Vex2une6 小时前
Docker Desktop WSL2后端:2026年性能调优与避坑实战指南
windows·docker·desktop·gpu容器·容器开发·virtiofs·buildkit
程序员老赵7 小时前
Docker 部署青龙面板:轻松搭建定时任务管理平台
前端·docker·开源
TTATTC7 小时前
为什么单会话聊天做不好复杂工程?Claude Code 创作者的并发 Worktree 与记忆闭环实践
docker·开源
TTATTC7 小时前
状态机驱动长事务,还是 DAG 编排高并发?高可靠业务流程引擎的双核架构设计
docker·开源
殷忆枫7 小时前
告别依赖地狱!在 Ubuntu 上用 Docker 极速部署 Home Assistant 与 MQTT,并接入 Siri 与嵌入式 C 终端
linux·ubuntu·docker
千桐科技9 小时前
qModel算法模型平台功能解析:从源码到 Docker 镜像,部署能自动完成哪些工作?
运维·docker·容器·qmodel
mengge.cloud11 小时前
1019Namespace ,Contexts ,Kubernetes Pod
运维·服务器·网络·云原生·容器·kubernetes·云计算
江湖有缘11 小时前
Docker实战 | 使用Docker部署Imagor Studio图片编辑工具
java·docker·eureka
Xxtaoaooo11 小时前
私人日记不想散落在多个App?我用DailyTxT把记录、搜索和图片都放进自己的NAS
docker·nas·dailytxt