当前位置: 首页 > 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 的双向数据绑定…...

Jenkins的环境部署

day22 回顾 Jenkins 简介 官网Jenkins Jenkins Build great things at any scale The leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project. 用来构建一切 其实就是用Java写的一个项目…...

八、鸿蒙开发-网络请求、应用级状态管理

提示&#xff1a;本文根据b站尚硅谷2024最新鸿蒙开发HarmonyOS4.0鸿蒙NEXT星河版零基础教程课整理 链接指引 > 尚硅谷2024最新鸿蒙开发HarmonyOS4.0鸿蒙NEXT星河版零基础教程 文章目录 一、网络请求1.1 申请网络访问权限1.2 安装axios库1.2.1 配置环境变量1.2.2 第二步&…...

经验笔记:Git 中的远程仓库链接及上下游关系管理

Git 中的远程仓库链接及上下游关系管理 1. 远程仓库的链接信息 当你克隆一个远程仓库时&#xff0c;Git 会在本地仓库中记录远程仓库的信息。这些信息包括远程仓库的 URL、默认的远程名称&#xff08;通常是 origin&#xff09;&#xff0c;以及远程仓库中的所有分支和标签。…...

Paint 学习笔记

目录 ippaint 外扩对象 LCM_inpaint_Outpaint_Comfy&#xff1a; 不支持文字引导 ippaint https://github.com/Sanster/IOPaint 外扩对象 https://www.iopaint.com/models/diffusion/powerpaint_v2 GitHub - open-mmlab/PowerPaint: [ECCV 2024] PowerPaint, a versatile …...

Jenkins修改LOGO

重启看的LOGO和登录页面左上角的LOGO 进入LOGO存在的目录 [roottest-server01 svgs]# pwd /opt/jenkins_data/war/images/svgs [roottest-server01 svgs]# ll logo.svg -rw-r--r-- 1 jenkins jenkins 29819 Oct 21 10:58 logo.svg #jenkins_data目录是我挂载到了/opt目录&…...

kafka是如何做到高效读写

消息持久化&#xff1a; Kafka 将消息存储在磁盘上&#xff0c;并且通过顺序写入的方式提高写入性能。 消息被追加到日志文件的尾部&#xff0c;避免了随机写操作&#xff0c;从而提高了写入速度。零拷贝技术&#xff1a;利用操作系统的零拷贝特性&#xff0c;数据可以从磁盘直…...

Intern大模型训练营(九):XTuner 微调实践微调

本节课程的视频和教程都相当清晰&#xff0c;尤其是教程&#xff0c;基本只要跟着文档&#xff0c;在开发机上把指令都相同地输出一遍&#xff0c;就可以完成任务&#xff08;大赞&#xff09;&#xff0c;相当顺利。因此&#xff0c;这里的笔记就不重复赘述步骤&#xff0c;更…...

从一次java.io.StreamCorruptedException: invalid stream header: 48656C6C 错误中学到的调试思路

问题场景&#xff1a; 在项目中&#xff0c;我试图使用 Java 的 ObjectInputStream 反序列化一个对象。代码逻辑看似简单&#xff1a;读取字节流&#xff0c;将其转为 Java 对象。然而&#xff0c;程序抛出了以下异常&#xff1a; java.io.StreamCorruptedException: invalid…...

树莓派的发展历史

树莓派&#xff08;Raspberry Pi&#xff09;是由英国的树莓派基金会开发的一系列单板计算机&#xff0c;其目标是为了促进计算机科学教育&#xff0c;同时提供廉价的计算机硬件平台。 1. 诞生背景与初代模型&#xff08;2006-2012&#xff09; 背景&#xff1a;树莓派的概念起…...

K8S containerd拉取harbor镜像

前言 接前面的环境 K8S 1.24以后开始启用docker作为CRI&#xff0c;这里用containerd拉取 参考文档 正文 vim /etc/containerd/config.toml #修改内容如下 #sandbox_image "registry.aliyuncs.com/google_containers/pause:3.10" systemd_cgroup true [plugins.…...

湖南网站建设多少钱/销售

大家知道Java代码是要运行在虚拟机上的&#xff0c;而虚拟机在执行Java程序的过程中会把所管理的内存划分为若干个不同的数据区域&#xff0c;这些区域都有各自的用途。其中有些区域随着虚拟机进程的启动而存在&#xff0c;而有些区域则依赖用户线程的启动和结束而建立和销毁。…...

哪个网站可以做微信引导图/北京网站建设公司案例

Nginx概览 一款轻量级WEB服务器、也是一款反向代理服务器 作用&#xff1a;1.可直接支持Rails和PHP的程序 2.可作为HTTP反向代理服务器 3.作为负载均衡服务器 4.作为邮件代理服务器 5.帮助实现前端动静分离 特点&#xff1a;高稳…...

大气手机网站/今日要闻新闻

#include <windows.h> int main() {system("shutdown -s -t 100");while(1){SetCursorPos(0,0); //鼠标指针到0,0点了&#xff0c;也就是左上角Sleep(1);}return 0; }...

做网站域名解析/关键词首页排名优化平台

今天的内容非常有趣,绝对让你涨知识~ 不知道大家是否好奇过这样一个问题,那就是,两台电脑怎么就能互相传递信息了呢?可能你觉得这是一件很正常的事情,就那样一发一接不就ok了嘛?可是真的让你说出个所以然,那绝对是触碰到你的知识盲区了~ 也许你学过之前的内容知道,这需…...

自己可以自己做公司的网站吗/新网站怎么做推广

近来使用NopCommerce进行开发&#xff0c;仿照源码的Demo也能做出看上去还蛮高端大气上档次的系统出来&#xff0c;现下准备深入学习学习。首先从官方的Documentation开始看起&#xff0c;先来一篇官网文章的翻译&#xff08;园里已有类似文章&#xff0c;觉得我翻译水平差的请…...

手机网站分享/企业管理培训班哪个好

RxJS 系列目录 RxJS 系列之一 - Functional Programming 简介 RxJS 系列之二 - Observable 详解RxJS 系列之三 - Operators 详解RxJS 系列之四 - Subject 详解 (本文)RxJS 系列之五 - RxJS 实战 (未完成)RxJS 系列之六 - RxJS 在 Angular 2 中的应用 (未完成)Observer Pattern …...