OrbStack 是一款专为 macOS 设计的轻量级容器与虚拟机管理工具,它支持运行 Docker 容器和 Linux 虚拟机,旨在提供比 Docker Desktop 更快的启动速度、更低的资源占用以及更无缝的 macOS 集成体验。

1. 安装 OrbStack

OrbStack 提供了两种主要的安装方式,你可以通过图形化的安装程序快速上手,也可以使用命令行工具进行安装。

系统要求

  • 操作系统: macOS 11 (Big Sur) 或更高版本

  • 硬件: 支持 Apple Silicon (M系列芯片) 和 Intel 芯片的 Mac

安装方法

方法一:通过官方安装包(推荐新手)

这是最简单直接的安装方式,适合大多数用户。

  1. 下载安装包: 访问 OrbStack 官网 (https://orbstack.dev) 下载最新的 .dmg安装文件。

  2. 安装应用: 打开下载的 .dmg文件,将 OrbStack 图标拖拽到 “Applications” 文件夹中。

  3. 首次运行: 在 “Applications” 文件夹中双击 OrbStack 图标启动应用。首次运行时,系统可能会提示你安装虚拟化支持扩展,按照屏幕提示授权即可。

方法二:通过 Homebrew(适合开发者)

如果你喜欢使用命令行,可以通过 Homebrew 进行安装:

1
brew install orbstack

安装完成后,OrbStack 服务会自动启动。

验证安装

安装完成后,可以通过以下命令验证安装是否成功:

1
2
3
4
5
6
# 检查 OrbStack 版本
orb --version
# 检查 Docker 是否可用
docker version
# 运行一个测试容器
docker run hello-world

如果这些命令都能正常执行,说明 OrbStack 已经成功安装并配置好了 Docker 环境。

2. 基本配置

安装完成后,你可能需要根据你的需求进行一些基本配置。OrbStack 的配置可以通过其图形界面(GUI)或命令行工具 orb进行。

🔧 常用配置项

配置项 说明 命令行配置示例 GUI位置
资源限制 设置所有容器和虚拟机可使用的总内存和CPU orb config set memory_mib 8192
orb config set cpu 7(即700%)
Settings -> System
Rosetta 仿真 在 Apple Silicon 上运行 x86/amd64 镜像(建议开启) orb config set rosetta true Settings -> System
Docker 镜像加速 添加国内镜像源以加速拉取镜像 Registry Mirrors中添加镜像源 Settings -> Docker -> Registry Mirrors
IPv6 支持 为 Docker 容器启用 IPv6 orb config set docker.ipv6 true Settings -> Docker
开机自启 设置 OrbStack 登录时自动启动 orb config set app.start_at_login true Settings -> App

配置示例:设置 Docker 镜像加速器

国内用户可以通过配置镜像加速器来提升 Docker 镜像的下载速度。

  1. 通过 GUI: 打开 OrbStack -> 点击 Settings -> 选择 Docker -> 在 “Registry Mirrors” 中添加你的镜像源地址(例如 https://registry.example.com)。

  2. 通过配置文件: 你也可以直接修改 Docker 的守护进程配置文件 daemon.json(通常位于 ~/.docker/目录),添加以下内容:

    1
    2
    3
    {
    "registry-mirrors": ["https://your-mirror.example.com"]
    }

    修改后需要重启 OrbStack 使配置生效。

3. 使用 OrbStack

OrbStack 的核心功能是管理 Docker 容器和 Linux 虚拟机。由于其深度集成,你通常可以直接使用标准的 docker命令,而无需额外配置。

3.1 Docker 容器管理

OrbStack 完全兼容 Docker CLI,你可以像平时一样使用所有 docker命令。

3.2切换Docker由orbstack管理

首先查看下当前 docker 是由谁来管理的

1
docker context ls 

如果不是 orbstack,切换为使用 orbstack

1
docker context use orbstack

此时就可以用 orb愉快地使用 docker

以下命令会下载 Nginx 镜像并启动一个容器,将容器的 80 端口映射到本地的 8080 端口:

1
docker run -d -p 8080:80 --name my-nginx nginx

启动后,你可以在 macOS 浏览器中访问 http://localhost:8080来查看 Nginx 的欢迎页面。

使用 Docker Compose

OrbStack 也完全支持 Docker Compose。假设你有一个 docker-compose.yml文件,只需在该文件所在目录运行:

1
docker compose up -d

这将启动 Compose 文件中定义的所有服务。

查看和管理容器

你可以使用标准的 Docker 命令查看和管理容器:

1
2
3
4
5
6
7
8
9
10
# 查看正在运行的容器
docker ps
# 查看所有容器(包括已停止的)
docker ps -a
# 查看容器日志
docker logs my-nginx
# 停止容器
docker stop my-nginx
# 删除容器
docker rm my-nginx

3.2 Linux 虚拟机 (VM) 管理

除了容器,OrbStack 还能快速创建和管理轻量级的 Linux 虚拟机。

创建虚拟机

使用 orb create命令创建虚拟机。以下命令创建一个名为 “myvm” 的 Ubuntu 24.04 虚拟机:

1
2
3
4
5
# 创建默认(ARM64)Ubuntu 虚拟机
orb create ubuntu:24.04 myvm

# 如需创建 x86/amd64 架构的虚拟机(Apple Silicon 用户)
orb create --arch amd64 ubuntu:24.04 myvm-intel

虚拟机通常在几秒到一分钟内就能创建完成,远快于传统虚拟机软件。

管理虚拟机

OrbStack 提供了一套简洁的命令行工具 orb来管理虚拟机:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 启动虚拟机
orb start myvm
# 进入虚拟机
orb -m myvm

# SSH 登录到虚拟机(默认使用你的 macOS 用户名)
orb ssh myvm

# 停止虚拟机
orb stop myvm

# 删除虚拟机(不可逆操作,谨慎使用)
orb delete myvm

# 列出所有虚拟机
orb list
# 列出默认虚拟机
orb default
# 设置默认虚拟机
orb default myvm
# 直接进入默认的虚拟机
orb

你也可以使用 OrbStack 的图形界面来查看和管理虚拟机的状态。

文件共享

OrbStack 默认将你的 macOS 家目录 (~/) 挂载到虚拟机中,方便你在两个系统间共享文件。在虚拟机内,你的文件位于 /mac/home/your-username/路径下。

例如,在虚拟机中访问你的 macOS 桌面:

1
cd /mac/home/$(whoami)/Desktop

在虚拟机中调用 mac 命令

可以用mac command方式,例如在虚拟机中调用 mac 上的 neofetch

1
mac neofetch

会有如下显示:

在 mac 中调用 linux 中的命令

同理,可以用orb command的方式在 mac 中调用 linux 中的命令,例如在 mac 中调用 ubuntu 虚拟机中的 neofetch

1
orb neofetch

得到:

如果要调用非默认虚拟机的命令,加-m指定机器即可,例如orb -m arch uname -a

网络访问

OrbStack 简化了虚拟机的网络访问:

  • 本地访问: 虚拟机内监听的服务可以直接通过 Mac 的 localhost:加端口号访问。

  • 局域网访问: 如果虚拟机内的服务监听在 0.0.0.0,那么同一局域网内的其他设备也可以通过你的 Mac 的 IP 地址访问该服务。

例如,在虚拟机内启动一个 Python HTTP 服务器:

1
python3 -m http.server 8000

然后你可以在 Mac 的浏览器中访问 http://localhost:8000来访问这个服务器。

更强大的一点

如果你在 linux 虚拟机中安装了 nginx,通过curl localhost可以访问,此时 orbstack 自动开通了ubuntu.orb.local这一链路(ubuntu 是虚拟机的名字),可以通过 mac 上的浏览器访问

4. 高级功能与技巧

环境变量传递

想将 mac 上的某个环境变量导入虚拟机,可以使用export ORBENV=的方式,例如

1
2
#将 SITE1、SITE2 变量导入
export ORBENV=SITE1:SITE2

资源监控

你可以通过命令行查看容器和虚拟机的资源使用情况:

1
orb stats

这会显示 CPU、内存、网络和磁盘的使用情况。

虚拟机克隆与备份

OrbStack 支持虚拟机的克隆和导出导入,这对于创建多个相似环境或备份非常有用。

1
2
3
4
5
6
7
8
# 克隆虚拟机
orb clone myvm myvm-backup

# 将虚拟机导出为文件(用于备份或迁移)
orb export myvm -o myvm-backup.orb

# 从导出文件导入虚拟机
orb import myvm-backup.orb

请注意,导出文件可能会很大,因为它包含了虚拟机的整个磁盘映像。

5. 常见问题处理 (FAQ)

  1. 如何解决虚拟机 SSH 登录问题?​

    OrbStack 默认使用你的 macOS 用户名创建虚拟机用户,但可能未设置密码。如果遇到登录问题,可以在虚拟机内设置密码:

    1
    sudo passwd $USER

    然后按照提示设置新密码。

  2. 如何彻底卸载 OrbStack?​

    如果你需要完全卸载 OrbStack,可以使用官方提供的卸载脚本:

    1
    curl -fsSL https://cdn.orbstack.dev/install/uninstall.sh | sh
  3. 如何在 Apple Silicon 上运行 x86 镜像?​

    OrbStack 默认支持通过 Rosetta 运行 x86 镜像,这通常是自动启用的。如果你遇到兼容性问题,可以手动确认设置:

    1
    orb config set rosetta true
  4. 如何释放磁盘空间?​

    可以定期清理不再使用的 Docker 镜像、容器和虚拟机:

    1
    2
    3
    4
    5
    # 删除不再使用的 Docker 镜像、容器、卷和网络
    docker system prune -a

    # 删除 OrbStack 的所有数据(包括所有虚拟机和容器,不可逆!)
    orb reset

总结

OrbStack 作为一款 macOS 上的轻量级虚拟化工具,​启动速度快​(通常只需几秒)、资源占用低​(相比 Docker Desktop 内存占用更少),并且提供了无缝的 macOS 集成体验​(如文件共享、网络访问)。它非常适合需要频繁使用 Docker 容器和 Linux 虚拟机的开发者,用于日常开发、测试和运行 Linux 环境。

无论是作为 Docker Desktop 的替代品,还是作为轻量级虚拟机解决方案,OrbStack 都值得一试。