戳下方名片,关注并星标

回复“1024”获取2TB学习资源!

👉体系化学习:运维工程师打怪升级进阶之路 4.0

—   特色专栏  —

MySQL / PostgreSQL / MongoDB

ElasticSearch / Hadoop / Redis

Kubernetes / Docker / DevOps

Kafka / RabbitMQ / Zookeeper 

监控平台 / 应用与服务 / 集群管理

Nginx / Git / Tools OpenStack

大家好,我是民工哥!

买不起苹果电脑?来试试这个开源黑苹果,让你享受原生级 macOS 体验!

做为一名IT程序员,可能你的开发电脑中会有 Windows 和 Linux 环境,但如果有些程序想在 MacOS 中测试,花大成本去购买一台苹果电脑可能不太值当,去折腾黑苹果又比较繁琐。

今天,民工哥给大家推荐一个功能非常强大的工具:Docker-OSX!一键部署黑苹果,让享受原生级体验!

2bbaa79d050f6791d30b08030b988336.png

Docker-OSX 是一个开源项目,它允许开发者在 Docker 容器中运行 Mac OS X 系统。

简介

Docker-OSX 项目由Sickcodes团队维护,旨在为那些需要在非Mac环境中测试或开发针对Mac平台应用的人提供一个轻量级、便捷的解决方案。通过Docker-OSX,开发者可以在任何支持Docker的平台上运行Mac OS虚拟机,从而进行跨平台测试、持续集成/持续部署(CI/CD)以及教育与学习等活动。

项目地址我放我文末了,需要的自取!

技术原理

Docker-OSX 的核心是基于 QEMU(一款开源的全虚拟化解决方案)和 Docker 的结合。QEMU 允许在一个操作系统中模拟另一个操作系统,而Docker则提供了容器化的环境,使得应用可以在隔离的环境中运行。通过这两个工具的巧妙组合,Docker-OSX 能够创建一个可以在任何支持 Docker 的平台上运行的 Mac OS 虚拟机。

功能与特点

1.跨平台测试:对于开发面向Mac的应用程序的开发者来说,Docker-OSX项目可以让他们在非Mac设备上进行测试和调试,无需拥有物理的Mac硬件。

2.持续集成/持续部署(CI/CD):在CI/CD管道中,可以使用Docker-OSX来构建和测试针对Mac的软件包。

3.教育与学习:如果你想要了解Mac OS的工作机制,但又没有条件购买实体设备,Docker-OSX是一个理想的实验平台。

4.轻量化:由于利用了Docker的轻量级特性,相比于传统的虚拟机,Docker-OSX占用更少的资源,启动速度更快。

5.易于使用:只需要安装了Docker的环境,就可以快速地运行和停止Mac OS实例,操作简单。

6.可移植性:Docker容器的标准化意味着你可以轻松地在本地、远程服务器或云环境中迁移你的Mac OS环境。

7.更新及时:Sickcodes团队定期更新镜像,确保你可以使用最新的Mac OS版本。

安装

环境要求
  • 需要安装 Docker 环境

  • 确保你的系统为x86_64架构的CPU,并支持硬件虚拟化。

  • 检查你的磁盘空间,至少需要20GB的可用空间(推荐50GB以上)。

  • 确认你的RAM至少为4GB(推荐8GB以上)。

  • 已安装 QEMU(部分系统需要)

安装之前需要确认是否启动了KVM,可以使用下面的命令进行检查:

modprobe kvm
#如果未出现任何报错信息,则表明KVM已经启动

Docker-OSX 支持多个 macOS 版本,如:Catalina、Big Sur、Monterey 和 Ventura 等,你可以根据需要选择适合的版本。

拉取 Docker-OSX 镜像
docker pull sickcodes/docker-osx:latest

运行 Docker-OSX

docker run -it \
    --device /dev/kvm \
    -p 50922:10022 \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    -e "DISPLAY=${DISPLAY:-:0.0}" \
    -e SHORTNAME=catalina \
    sickcodes/docker-osx:latest

请注意,虽然Docker-OSX提供了一种方便的方式来模拟Mac环境,但它可能不适合处理图形密集型任务,如游戏或视频编辑,因为目前还不支持GPU共享。

注意:不同版本的macOS启动命令可能略有不同,请根据你选择的版本调整命令。

首次启动可能需要一些时间,请耐心等待直到你看到macOS安装界面或登录屏幕。

如果遇到权限问题,你可能需要将你的用户添加到Docker用户组。在终端中运行以下命令:

usermod -aG docker ${USER}
安装操作如下

7637c82479badb6ecc6a1dc29ed0823a.png

在上述界面选择 macOS Base System,进行初始化系统

60d5b4239b217e127ae5bb8c49b2aa40.png

这里使用 Disk Utility 格式化磁盘

32729048029c1d5f76b52890792c481b.png

点击 Reinstall macOS Big Sur

64579a436e7d97b8e9ae93644ea19a1c.png

点击 continue 开始安装

a8c4b86de38896906e977c272611279e.png

点击 Agree

876627eb9c0ed29a25707079b6434c4b.png

等待安装完成

ce8aa8e585e608e389a105f62a1005f1.png

选择 macOS Installer

73e86755974baafaf90a582ae422100b.png

点击 Big Sur 就可以启动了

1849c1db20abeaa900b66a1ef67d972f.png

选择国家或地区

8ae07a116ae61441ffc3a5f22ea003bb.png

选择语言

85bf159014979e8df15daaaa3fa0cbd3.png

设置 apple ID, 创建用户名或密码

27e3886b1ecb3884978701cabf3ac5c4.png

结语

Docker-OSX 项目为开发者提供了一个创新的方式,在不增加硬件成本的情况下进行 Mac OS 相关的开发和测试工作。如果你正在寻找一种灵活且节省资源的方法来接触 Mac OS,不妨尝试一下 Docker-OSX。

项目地址:https://github.com/sickcodes/Docker-OSX

👍 如果你喜欢这篇文章,请点赞并分享给你的朋友!

17aba2d8a47ff14092df3d4c8af2a8a1.jpeg

公众号读者专属技术群

构建高质量的技术交流社群,欢迎从事后端开发、运维技术进群(备注岗位,已在技术交流群的请勿重复添加微信好友)。主要以技术交流、内推、行业探讨为主,请文明发言。广告人士勿入,切勿轻信私聊,防止被骗。

扫码加我好友,拉你进群

31d16f3e08701cea8a446231ffa8d626.jpeg

6d8dde4bdb064164bbcf54b58474a5dd.gif

BOSS 直聘进军婚恋交友!找对象直接和对象谈

突发!字节跳动实习生投毒自家大模型,传损失千万美金,细节曝光

运维工程师们请记住:封掉这 50 个高危端口,让你的系统稳如泰山!

突发!思科再遭数据泄露,多家知名大厂数据已在暗网出售

数据中心爆炸!致一人受伤

被无端解雇,26 年老员工 15  页公开信举报 IBM 董事长

海康威视被曝大规模人员收编!研发区缩减至 12 个,波及上千员工

MongoDB 是一个没有“未来”的数据库!

acc6470d5e236e21bc7d3e443c34c80e.png

PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下在看,加个星标,这样每次新文章推送才会第一时间出现在你的订阅列表里。点在看支持我们吧!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐