[来源:民工哥技术之路]
- [简介]
- [特点]
- [OrbStack 安装使用]
- [目前的一些局限]
- [总结]
macOS 从 2020 年发布 Big Sur 开始,提供了虚拟化的框架,开发者可以在 macOS 上构建基于 Intel/ARM 的 Linux 环境。macOS 上的 Parallels Desktop 和 Docker Desktop 都在使用这个框架,但这二者都比较重。
macOS 上的 Docker Desktop 原本就是饱受诟病,慢、重、资源消耗巨大。OrbStack 的出现就是为了解决这个问题。
简介
OrbStack 是一款零配置就能够轻松进行使用的虚拟机容器软件,现阶段完全的免费,能够免费的提供给个人使用,相对于 Mac上面的其他虚拟机来说更为的简单,对于喜欢在 Mac 上面运行 Linux 个人来说更为的实用。
- kutt.appinn.com/mmBNpX
- GitHub:github.com/orbstack
架构设计上,与 Linux 的集成跟 Windows 的 WSL 类似,采用了共享内核技术,相当于在宿主操作系统的内核之上运行一个独立的用户空间环境,利用宿主操作系统的内核来隔离和管理应用程序的运行环境,甚至可以在 Linux 中直接调用 Mac 的指令。所以它可以做到很小的内存开销,而且可以及时释放不使用的内存。
[替代 Docker Desktop]
OrbStack 主要有两个作用:替代 Docker Desktop、替代 Linux 虚拟机。
从 OrbStack 官网描述来看,很好、非常好:OrbStack 比 Docker Desktop 启动速度快、网络快、Rosetta x86 模拟、低 CPU 占用、低电量消耗。
[替代 Linux 虚拟机]
OrbStack 的确让这两件事情变的很快,尤其在 Linux 虚拟机上,如果使用 Parallels Desktop,或 VMware Fusion,安装一台 Linux 至少需要 20 分钟。而在 OrbStack 上,几秒钟就完成了。
对于开发者而言,太方便了。
[特点]
[快如闪电]
通过涡轮增压网络、流畅的Rosetta x86模拟、VirtioFS文件共享和其他针对某些工作负载的优化,在几秒钟内启动。
[使用Docker就像它的本机一样]
快速构建Docker镜像,享受快速、可靠的网络和文件共享。绑定挂载和端口转发都能正常工作。通过对卷的访问轻松调试容器。用Rosetta运行x86容器。包括Docker Compose和其他工具。
[Linux机器,不费吹灰之力]
用你喜欢的发行版运行完整的Linux机器。与Visual Studio Code(或你喜欢的编辑器)和SSH代理转发无缝协作。用Rosetta在苹果硅上运行英特尔机器。
[一流的命令行集成]
生活在终端中?我们认为我们的原生Swift应用很好,但一切都可以通过命令行完成。在Mac和Linux之间轻松地运行命令和复制文件。从Linux发送通知并打开文件和链接。
[轻如鸿毛]
在Apple Silicon上,OrbStack的后台CPU使用率不到0.1%,它可以节省电力,不影响你的工作。开箱时使用的磁盘空间不到10MB。你永远不会注意到它在运行。
[毫不费力的整合]
享受Docker,就像它原生在macOS上一样,还有CLI集成、文件共享和与Linux机器的远程SSH编辑。
[简洁,服务]
简单而强大的应用程序和命令行界面使您可以在1分钟内以最少的设置轻松上手。
[OrbStack 安装使用]
下载安装的过程特别简单。可以看到如下的界面可以在 macOS 上快速,轻便的创建 Docker 容器和 Linux 环境。执行一下测试的容器:
docker run -it -p 80:80 docker/getting-started
然后再访问 http://localhost/
即可看到最基础的 Docker 教程。
在这个界面中也可以对容器进行简单的管理。在系统的资源管理器中可以看到 OrbStack 几乎不怎么占用 CPU 和内存。
[CPU 消耗]
[内存消耗]
[相关命令]
OrbStack 也提供了一些管理命令 orbctl
,可以直接在命令行使用。
orbctl help
OrbStack 在创建了 Ubuntu 等 Linux 镜像之后也可以使用 SSH 连接
orb -m ubuntu -u root
orb -m ubuntu -u root uname -a
orb
命令还提供了其他一些特性,比如可以在虚拟机中 push 或 pull 来传输文件。
[目前的一些局限]
OrbStack 虚拟的 Linux 是不支持 GUI 的,不过这也不妨碍,我想大部分开发应该只会使用命令行去管理 Linux 运行环境吧。大致猜想 OrbStack 应该只是用 Docker 开启了一个 Linux 的容器,所以不支持图形化界面也是可以理解的。
[总结]
总之如果你之前饱受 Docker Desktop 慢的问题困扰 ,或者之前经常使用 Virtual Box,VMware Fusion 等虚拟化工具在 macOS 上虚拟化 Linux 运行环境,不妨来试试这一款轻量的 OrbStack 。
参考文章:einverne.github.io/post/2023/0…
orbstack-docker-runtime-and-virtual-linux.html
docs.orbstack.dev/benchmarks