当前位置: 首页 > news >正文

[开源] 告别黑苹果!用docker安装MacOS体验苹果系统

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

一、项目简介

  • 项目描述

Docker 容器内的 OSX(macOS) 是一个开源项目,旨在将 macOS 操作系统运行在 Docker 容器中。该项目利用 KVM 加速技术,提供了一个基于 Web 的 macOS 虚拟机环境。用户可以通过 Docker 快速启动 macOS 虚拟机,并进行各种操作和开发工作。

  • 使用MIT 许可证

    特此授予获得此软件和相关文档文件(“软件”)副本的任何人免费许可,以无限制方式处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许向其提供软件的人员这样做,但须遵守以下条件:

    上述版权声明和本许可声明均应包含在软件的所有副本或重要部分中。

软件按“原样”提供,不作任何明示或暗示的保证,包括但不限于适销性、特定用途的适用性和不侵权性的保证。在任何情况下,作者或版权持有者均不对因软件或使用或其他处理软件而引起的或与之相关的任何索赔、损害或其他责任承担责任,无论是合同行为、侵权行为还是其他行为。

img

二、功能介绍

  • KVM加速

  • 基于 Web 的查看器

  • 自动下载

三、兼容性

产品平台
Docker 引擎Linux
Docker 桌面Linux
Docker 桌面macOS
Docker 桌面Windows 11
Docker 桌面Windows 10

四、用法🐳

  • 通过 Docker CLI
docker run -it --rm -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 dockurr/macos
  • 通过 Docker Compose
services:macos:image: dockurr/macoscontainer_name: macosenvironment:VERSION: "13"devices:- /dev/kvmcap_add:- NET_ADMINports:- 8006:8006- 5900:5900/tcp- 5900:5900/udpstop_grace_period: 2m
  • 通过 Kubernetes
kubectl apply -f https://raw.githubusercontent.com/dockur/macos/refs/heads/master/kubernetes.yml

五、如何选择 macOS 版本?

默认情况下,将安装 macOS 13(Ventura),因为它提供最佳性能。

但是您可以将VERSION环境变量添加到撰写文件中,以便指定要下载的备用 macOS 版本:

environment:VERSION: "13"

从以下值中选择:

价值版本姓名
15macOS 15红杉
14macOS 14索诺玛
13macOS 13文图拉
12macOS 12蒙特雷
11macOS 11大苏尔

四、源码地址

源码下载:code.open1024.top

OpenCode 源码网是一个专注于分享新奇、有趣且具有实用价值的开源应用、系统、软件、硬件以及先进技术的平台。致力于精心打造一个充满活力的开源社区,携手众人共同构建开源新生态。

相关文章:

[开源] 告别黑苹果!用docker安装MacOS体验苹果系统

没用过苹果电脑的朋友可能会对苹果系统好奇,有人甚至会为了尝鲜MacOS去折腾黑苹果。如果你只是想体验一下MacOS,这里有个更简单更优雅的解决方案,用docker安装MacOS来体验苹果系统。 一、项目简介 项目描述 Docker 容器内的 OSX&#xff08…...

多模态大模型(4)--InstructBLIP

BLIP-2通过冻结的指令调优LLM以理解视觉输入,展示了在图像到文本生成中遵循指令的初步能力。然而,由于额外的视觉输入由于输入分布和任务多样性,构建通用视觉语言模型面临很大的挑战。因而,在视觉领域,指令调优技术仍未…...

【Linux】基于 Busybox 构建嵌入式 Linux(未完成)

嵌入式 Linux 1.需要 Toolchain 2.需要 Bootloader 3.需要嵌入式 Linux 基本组件: Linux kernelDTBRoot filesystem InitShellDaemonShared librariesConfiguration fileDevice nodeproc and sysKernel Module 基于 Busybox 构建 1.编译 Linux kernel 2.编译 …...

Unet++改进38:添加GLSA(2024最新改进方法)具有聚合和表示全局和局部空间特征的能力,这有利于分别定位大目标和小目标

本文内容:添加GLSA注意力机制 目录 论文简介 1.步骤一 2.步骤二 3.步骤三 4.步骤四 论文简介 基于变压器的模型已经被广泛证明是成功的计算机视觉任务,通过建模远程依赖关系和捕获全局表示。然而,它们往往被大模式的特征所主导,导致局部细节(例如边界和小物体)的丢失…...

c++中mystring运算符重载

#include <iostream> #include <cstring>using namespace std;class mystring {char* buf; public:mystring(); //构造函数mystring(const char * str); //构造函数mystring(const mystring& str); //深拷贝函数void show(); //输出函数void setmystr(const my…...

图像处理 - 色彩空间转换

色彩空间转换的含义与原理 色彩空间转换是指将一种颜色模型或表示方式中的颜色数据映射到另一种颜色模型中的过程。色彩空间&#xff08;Color Space&#xff09;本质上是一个三维坐标系统&#xff0c;每个点都表示图像中的某种颜色。在实际应用中&#xff0c;由于不同的色彩空…...

MariaDB面试题及参考答案

什么是 MariaDB&#xff1f; MariaDB 是一个开源的关系型数据库管理系统&#xff0c;它是 MySQL 数据库的一个分支。它的主要目的是存储和管理数据&#xff0c;采用了关系模型&#xff0c;数据存储在表中&#xff0c;表之间可以通过关联建立关系。 从起源来讲&#xff0c;Maria…...

PostgreSQL常用字符串函数与示例说明

文章目录 coalesce字符串位置(position strpos)字符串长度与大小写转换去掉空格(trim ltrim rtrim)字符串连接(concat)字符串替换简单替换(replace)替换指定位置长度(overlay)正则替换(regexp_replace) 字符串匹配字符串拆分split_part(拆分数组取指定位置的值)string_to_array…...

力扣第58题:最后一个单词的长度

力扣第58题是 最后一个单词的长度&#xff0c;具体要求是给定一个字符串&#xff0c;找到其最后一个单词的长度。 题目描述 输入&#xff1a;一个由字母和空格组成的字符串 s&#xff0c;可以包含大小写字母和若干空格。 输出&#xff1a;最后一个单词的长度。 注意&#xf…...

【Maven】Nexus几个仓库的介绍

在 Nexus 仓库管理器中&#xff0c;maven-central、maven-public、maven-releases 和 maven-snapshots 是常用的 Maven 仓库类型。每个仓库都有其特定的用途和功能。以下是对这些仓库的详细介绍&#xff1a; 1. maven-central 类型&#xff1a;代理仓库&#xff08;Proxy Rep…...

SSH免密登陆

一、生成SSH密钥对 在客户端主机 ClientHost上&#xff0c;以 root用户身份生成SSH密钥对&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" # -t rsa&#xff1a;指定使用RSA算法 # -b 4096&#xff1a;指定密钥长度为4096位 # -C ""…...

【Linux】Namespace

一、概念 Linux Namespace 是 Linux 内核提供的一种特性&#xff0c;用于对系统资源进行隔离。通过 Namespace&#xff0c;不同的进程组可以拥有独立的系统资源视图&#xff0c;即使它们在同一台物理机器上运行。这种隔离机制使得容器技术成为可能&#xff0c;因为它允许在单个…...

SQLite 和 MySQL语法区别

SQLite 和 MySQL 在 SQL 语法上有一些差异&#xff0c;这些差异主要体现在数据类型、函数、表和索引的管理等方面。以下是一些主要的不同之处&#xff1a; 1. 数据类型 SQLite 支持的数据类型包括&#xff1a;TEXT, INTEGER, REAL, BLOB。动态类型系统&#xff0c;允许在插入…...

基于BERT的命名体识别(NER)

基于BERT的命名实体识别&#xff08;NER&#xff09; 目录 项目背景项目结构环境准备数据准备代码实现 5.1 数据预处理 (src/preprocess.py)5.2 模型训练 (src/train.py)5.3 模型评估 (src/evaluate.py)5.4 模型推理 (src/inference.py) 项目运行 6.1 一键运行脚本 (run.sh)6…...

华为云鸿蒙应用入门级开发者认证考试题库(理论题和实验题)

注意&#xff1a;考试链接地址&#xff1a;华为云鸿蒙应用入门级学习认证_华为云鸿蒙应用入门级开发者认证_华为云开发者学堂-华为云 当前认证打折之后是1元&#xff0c;之后原价700元&#xff0c;大家尽快考试&#xff01;考试题库里面答案不一定全对&#xff0c;但是可以保证…...

SpringBoot+React养老院管理系统 附带详细运行指导视频

文章目录 一、项目演示二、项目介绍三、运行截图四、主要代码1.入住合同文件上传2.添加和修改套餐的代码3.查看入住记录代码 一、项目演示 项目演示地址&#xff1a; 视频地址 二、项目介绍 项目描述&#xff1a;这是一个基于SpringBootReact框架开发的养老院管理系统。首先…...

使用element-plus el-table中使用el-image层级冲突table表格会覆盖预览的图片等问题

在日常开发项目中 使用element-plus 中表格中使用 el-image的点击图片出现图片预览 会出现以下问题 表格一行会覆盖预览的图片 鼠标滑过也会显示表格 el-image 的预览层级和表格的层级冲突导致的。 解决方法&#xff1a;有两种一种是直接使用样式穿透 第二种推荐方法 使用官网推…...

python读取Oracle库并生成API返回Json格式

一、安装必要的库 首先&#xff0c;确保已经安装了以下库&#xff1a; 有网模式 pip install flask pip install gevent pi install cx_Oracle离线模式&#xff1a; 下载地址&#xff1a;https://pypi.org/simple/flask/ # a. Flask Werkzeug-1.0.1-py2.py3-none-any.whl J…...

音视频入门基础:MPEG2-TS专题(5)——FFmpeg源码中,判断某文件是否为TS文件的实现

一、引言 通过FFmpeg命令&#xff1a; ./ffmpeg -i XXX.ts 可以判断出某个文件是否为TS文件&#xff1a; 所以FFmpeg是怎样判断出某个文件是否为TS文件呢&#xff1f;它内部其实是通过mpegts_probe函数来判断的。从《FFmpeg源码&#xff1a;av_probe_input_format3函数和AVI…...

每天10个vue面试题(九)

1、如何在组件中批量使用Vuex的getter属性&#xff1f; 使用mapGetters辅助函数, 利用对象展开运算符将getter混入computed 对象中computed:{ ...mapGetters([total,discountTotal]) } 2、vue2和vue3的区别&#xff1f; 双向数据绑定不同&#xff1a;vue2 的双向数据绑定…...

自动驾驶卡车软件平台:技术架构、商业模式与商业化落地解析

1. 自动驾驶卡车软件平台全景解析最近几年&#xff0c;自动驾驶卡车这个赛道真是热闹非凡&#xff0c;感觉每周都有新融资、新合作或者新路测的消息出来。作为一个在汽车电子和软件行业摸爬滚打了十几年的老工程师&#xff0c;我一直在密切关注这个领域的动态。自动驾驶卡车&am…...

资深运维的Helm Chart私藏库:高质量K8s应用部署实战指南

1. 项目概述&#xff1a;一个资深运维的Helm Chart私藏库如果你和我一样&#xff0c;长期在Kubernetes&#xff08;K8s&#xff09;的“牧场”里当“牛仔”&#xff08;Sysop&#xff09;&#xff0c;那你肯定明白&#xff0c;找到一个质量上乘、维护及时、配置合理的Helm Char…...

InputTip:提升表单体验的动态输入引导组件设计与实战

1. 项目概述&#xff1a;一个被低估的输入增强工具 在桌面应用开发中&#xff0c;我们常常会花费大量精力去构建复杂的业务逻辑和炫酷的界面&#xff0c;却容易忽略一个直接影响用户体验的细节&#xff1a; 输入引导 。回想一下&#xff0c;你是否遇到过这样的场景&#xff1…...

Helm模板智能助手:提升Kubernetes应用部署效率的VSCode插件

1. 为什么你需要一个Helm模板智能助手如果你和我一样&#xff0c;每天都在和Kubernetes的Helm Charts打交道&#xff0c;那你一定对编写templates/目录下那些.yaml文件又爱又恨。爱的是Helm的模板引擎确实强大&#xff0c;能把一堆重复的YAML配置抽象成可复用的模板&#xff1b…...

IP2366至为芯支持C口双向快充的140W多串锂电池充放电SOC芯片

英集芯IP2366是一款应用于移动电源、电动工具、智能家居、储能电源等方案的多串锂电池充电SOC芯片。支持高达140W的双向同步升降压充放电&#xff0c;充电电流可达5A。支持2至6节锂电池/磷酸铁锂电池串联&#xff0c;集成PD3.1、QC3.0等多种快充协议。内置14bit ADC&#xff0c…...

终极开源硬件控制方案:5分钟实现OMEN游戏本深度性能调优

终极开源硬件控制方案&#xff1a;5分钟实现OMEN游戏本深度性能调优 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度&#xff0c;自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub OmenSuperHub是一款专为惠普OMEN游戏本…...

大模型压缩实战:量化、剪枝与知识蒸馏技术解析与应用

1. 项目概述&#xff1a;当大模型遇见“瘦身”革命最近在跟几个做AI应用落地的朋友聊天&#xff0c;大家普遍都在吐槽一个事儿&#xff1a;现在的大语言模型&#xff08;LLM&#xff09;能力是强&#xff0c;但动辄几十亿、上百亿的参数规模&#xff0c;部署成本高得吓人&#…...

鸿蒙系统安装

一、下载 DevEco Studio 打开华为开发者官网&#xff0c;找到 DevEco Studio 6.1.0 Release 下载页面。 DevEco Studio for Windows 6.1.0.830(2.8GB) 下载。 Mac 用户可以选择对应版本&#xff08;x86/ARM&#xff09;。 等待下载完成&#xff0c;得到 .exe 安装文件。二、安装…...

共享屏幕怎么弄 共享屏幕用什么工具好

共享屏幕怎么弄&#xff1f;不管是异地办公同步方案、远程协助操作设备&#xff0c;还是和朋友分享游戏画面&#xff0c;都离不开共享屏幕的需求。共享屏幕怎么弄才不麻烦、不卡顿&#xff1f;其实答案很简单&#xff0c;无界趣连2.0就能轻松搞定&#xff0c;不用复杂设置&…...

AI智能体技能库构建:从标准化接口到安全实践

1. 项目概述&#xff1a;从“技能库”到“智能体”的进化之路最近在折腾AI智能体开发的朋友&#xff0c;估计都绕不开一个核心问题&#xff1a;如何让一个智能体真正“能干”&#xff0c;而不仅仅是“能聊”&#xff1f;这背后&#xff0c;就是“技能”的构建与管理。今天要聊的…...