OrbStack:一键将你的 Mac 变为本地服务器

一句话概括

OrbStack 是 macOS 上的轻量级容器与虚拟机运行环境,可以理解为 Docker Desktop 的替代品,但启动更快、内存占用更少、体验更原生。

为什么需要 OrbStack

在 Mac 上跑 Docker,传统方案是 Docker Desktop。但它有几个痛点:

痛点 Docker Desktop OrbStack
启动速度 30 秒+ 约 2 秒
内存占用 2-4 GB 起步 几百 MB
CPU 占用 后台常驻高 几乎无感
文件系统性能 挂载卷慢 接近原生速度
商业授权 大公司需付费 个人免费

简单说:同样的事,OrbStack 干得更快、更省资源。

OrbStack 能做什么

1. 运行 Docker 容器

安装 OrbStack 后,dockerdocker compose 命令自动可用,和 Docker Desktop 完全兼容:

bash 复制代码
# 拉取并运行一个容器
docker run -d -p 8080:80 nginx

# 使用 docker compose
docker compose up -d

所有 Docker Hub 上的镜像、Dockerfile、docker-compose.yml 都能直接用,无需任何修改。

2. 运行 Linux 虚拟机

OrbStack 内置了轻量级 Linux 虚拟机管理,一条命令创建:

bash 复制代码
# 创建一个 Ubuntu 虚拟机
orb create ubuntu myvm

# 进入虚拟机
orb shell myvm

# 列出所有虚拟机
orb list

支持 Ubuntu、Debian、Fedora、Arch 等多个发行版。

3. 网络互通

OrbStack 的一个杀手级特性是容器/虚拟机与 Mac 之间的无缝网络:

  • 容器访问 Mac :通过 host.docker.internal 域名
  • Mac 访问容器 :通过 容器名.orb.local 域名(不需要端口映射也能直接访问)
  • 容器间互访:通过 Docker 网络,和标准 Docker 行为一致
bash 复制代码
# Mac 上直接用域名访问容器内的服务
curl http://my-container.orb.local:3000

4. 文件共享

Mac 的文件系统自动挂载到容器和虚拟机中,性能接近原生:

bash 复制代码
# 挂载 Mac 目录到容器
docker run -v ~/projects:/app node:20 node /app/server.js

安装

方式一:官网下载

前往 orbstack.dev 下载 dmg 安装包,拖入应用程序文件夹。

方式二:Homebrew

bash 复制代码
brew install orbstack

安装完成后打开 OrbStack,它会自动配置好 Docker 运行时。如果之前安装了 Docker Desktop,OrbStack 会提示迁移。

核心概念

OrbStack vs Docker Desktop

两者的关系类似于 Chrome vs Safari ------ 都是浏览器,但实现不同。

OrbStack 和 Docker Desktop 都提供:

  • Docker 引擎(运行容器)
  • docker CLI 命令
  • docker compose 支持
  • 图形化管理界面

但 OrbStack 在底层用了不同的虚拟化技术(基于 Apple Virtualization Framework),所以更轻更快。

兼容性

OrbStack 100% 兼容 Docker CLI。 你的 Dockerfile、docker-compose.yml、CI/CD 脚本不需要做任何修改。切换到 OrbStack 对开发工作流是完全透明的。

唯一的区别是 OrbStack 只能在 macOS 上运行(因为它基于 Apple 的虚拟化框架)。

host.docker.internal

这是一个特殊域名,解析为 Mac 宿主机的 IP。在容器内部,localhost / 127.0.0.1 指的是容器自己,而不是 Mac。所以当容器需要访问 Mac 上运行的服务时(比如本地的 Ollama),必须使用 host.docker.internal

csharp 复制代码
容器内:
  127.0.0.1       → 容器自身
  host.docker.internal → Mac 宿主机

常用命令

Docker 相关(和原生 Docker 一样)

bash 复制代码
docker ps                    # 查看运行中的容器
docker compose up -d         # 启动服务
docker compose down          # 停止服务
docker compose up -d --build # 重建并启动
docker logs <容器名>          # 查看日志
docker exec -it <容器名> sh  # 进入容器

OrbStack 专属

bash 复制代码
orb                   # 打开 OrbStack 管理界面
orb list              # 列出所有虚拟机
orb create ubuntu vm1 # 创建虚拟机
orb shell vm1         # 进入虚拟机
orb stop vm1          # 停止虚拟机
orb delete vm1        # 删除虚拟机

实际使用场景

场景一:本地开发环境

把数据库、Redis、消息队列等中间件跑在容器里,应用代码在 Mac 上开发:

yaml 复制代码
# docker-compose.yml
services:
  postgres:
    image: postgres:16
    ports: ["5432:5432"]
    environment:
      POSTGRES_PASSWORD: dev123

  redis:
    image: redis:7
    ports: ["6379:6379"]

场景二:部署 API 服务

像本项目一样,把 Node.js API 服务容器化部署:

yaml 复制代码
services:
  api:
    build: .
    ports: ["3000:3000"]
    environment:
      - OLLAMA_URL=http://host.docker.internal:11434

场景三:测试 Linux 环境

需要在 Linux 环境下测试脚本或编译项目:

bash 复制代码
orb create ubuntu test-env
orb shell test-env
# 现在你在一个完整的 Ubuntu 环境中

从 Docker Desktop 迁移

  1. 安装 OrbStack
  2. 打开 OrbStack,它会自动检测已有的 Docker Desktop 并提示迁移
  3. 迁移完成后可以卸载 Docker Desktop
  4. 所有 docker 命令、docker-compose 项目无缝继续使用

总结

特性 说明
定位 Mac 上的 Docker + Linux VM 运行环境
核心优势 快、省资源、网络好用
兼容性 100% 兼容 Docker CLI 和 Compose
价格 个人免费,商业付费
系统要求 macOS 13+,Apple Silicon 或 Intel

一句话:如果你在 Mac 上用 Docker,换 OrbStack 就对了。

相关推荐
狂师11 分钟前
端开发必装 Skill 清单:6 款 AI 技能,让你的开发效率原地起飞
前端·程序员·开源
SimonKing32 分钟前
Spring I18N 底层源码大揭秘:你的 MessageSource 到底是怎么找到配置的?
java·后端·程序员
嘟嘟071718 小时前
别让 LLM 再胡说了——RAG 检索增强生成完全指南
程序员
爱勇宝19 小时前
《道德经》第4章,老子写得很像在描述一个“底层系统”。
前端·后端·程序员
kyriewen1 天前
我用 AI 写代码快了 3 倍——然后同事的 Code Review 全变成了我的
前端·程序员·ai编程
阿里嘎多学长2 天前
2026-07-10 GitHub 热点项目精选
开发语言·程序员·github·代码托管
没有了遇见2 天前
AI Agent 是什么?—— 一文理解 LLM、Memory、Skills、Tools、MCP、Workflow,Context
android·前端·程序员
DogDaoDao3 天前
【GitHub】 LLVM Project 深度解析:现代编译器基础设施的基石
java·c++·python·程序员·github·编译器·llvm
SamDeepThinking3 天前
为什么我会主动给一个年轻程序员加薪、晋升?
java·后端·程序员
AI小码3 天前
WAIC 2026前瞻:AI产业进入拼落地的下半场
人工智能·算法·ai·程序员·大模型·编程·智能体