macOS 上的轻量级 Linux 容器方案 - 不需要 Docker Desktop,原生 Apple Silicon 支持 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
d0r1an
V2EX    推广

macOS 上的轻量级 Linux 容器方案 - 不需要 Docker Desktop,原生 Apple Silicon 支持

  •  
  •   d0r1an 3 天前 2328 次点击

    在 macOS 上跑 Linux 容器一直很痛苦:

    • Docker Desktop 太重,还要订阅
    • Lima/Colima 需要管理 VM
    • OrbStack 不错但闭源

    BoxLite 的方案:

    • 利用 macOS Hypervisor.framework ,原生 Apple Silicon
    • 嵌入式设计,无 daemon
    • 每个容器独立 microVM ,硬件隔离
    • 支持 OCI 镜像,pip install boxlite 直接用
    import boxlite async with boxlite.SimpleBox(image="python:slim") as box: result = await box.exec("python", "-c", "print('hello')") 

    GitHub: https://github.com/boxlite-labs/boxlite

    25 条回复    2025-12-24 05:43:12 +08:00
    stinkytofux
        1
    stinkytofux  
       3 天前   2
    你这推广帖子发的有点密了, 真的这么好用吗? 能媲美 OrbStack ?
    d0r1an
        2
    d0r1an  
    OP
       3 天前
    @stinkytofux 非常抱歉,不太懂 v 站规矩,多谢指出。你可以试下,如果有哪里不好的地方尽管提,我会尽力优化的
    d0r1an
        3
    d0r1an  
    OP
       3 天前
    @stinkytofux 好用是我追求的第一优先级,该喷的地方尽管喷
    aerAzLNE
        4
    aerAzLNE  
       3 天前
    Docker Desktop 太重,还要订阅 -> 请问这是哪来的结论?
    Proposal
        5
    Proposal  
       3 天前
    跟 Apple 原生的比怎么样: https://github.com/apple/container
    Proposal
        6
    Proposal  
       3 天前
    @aerAzLNE 订阅没听说过,Docker Desktop 一直在用了好多年闻所未闻订阅一说。

    重也确实重,不知道实际资源使用重不重,但是就它这还得搞个 Desktop 我就嫌弃。在 Linux 上从来没需要这种东西,也不需要虚拟机。
    d0r1an
        7
    d0r1an  
    OP
       3 天前
    @aerAzLNE Hi, 太重指的是安装 docker/运行 docker 开销比较大。对于个人来说没有订阅问题,主要还是企业使用会有订阅问题
    d0r1an
        8
    d0r1an  
    OP
       3 天前
    @Proposal BoxLite 更加类似 SQLite 的使用方式,

    1. pip install boxlite
    2. import boxlite

    两步就能用,在 macOS 上我仍然使用的 Apple 的 virtualization framework ,所以理论上性能上限不会有什么区别,不过从产品上 BoxLite 尽可能做到开箱即用,贴合开发者而不是普通用户
    d0r1an
        9
    d0r1an  
    OP
       3 天前
    @Proposal 运行 docker desktop ,一启动就会重用 2g 左右内存
    d0r1an
        10
    d0r1an  
    OP
       3 天前
    各位有兴趣的话试一下吧,如果遇到任何问题都可以反馈,有需求也可以直接提出来,做这件事只想在 Agent 的时代搞点有用的开源产品帮助大家落地 Agent ,避免 vendor locked-in
    yanghanlin
        11
    yanghanlin  
       3 天前 via Android
    看了 README ,有几点疑惑:
    1. 既然是 micro VM 的方案,和 https://github.com/apple/container 相比有哪些区别呢?
    2. BoxLite 似乎还没支持 Docker Engine API ,只能用 BoxLite SDK ,个人理解是不是加重了而非减轻了 vendor lock-in
    yanghanlin
        12
    yanghanlin  
       3 天前 via Android
    目前确实有 macOS 上运行容器还要启动一个完整 VM 的痛点,因此一直希望 apple/container 能提供 Docker Engine API ,但是开发者的意愿并不明确 https://github.com/apple/container/issues/66 ;如果 BoxLite 能提供 Docker Engine API ,个人感觉会是一个卖点
    dilidilid
        13
    dilidilid  
       3 天前
    实话说,小众开源项目和主流商业公司的闭源产品,在都没啥严重负面新闻的情况下绝大部分人肯定选后者
    MacsedProtoss
        14
    MacsedProtoss  
       3 天前 via iPhone
    @Livid 高强度推广
    itechify
        15
    itechify  
    PRO
       3 天前 via Android
    买的老号?进 V 站前没看规则?连发了好几个帖子,小心账号降权和 ban 了
    d0r1an
        16
    d0r1an  
    OP
       2 天前
    @yanghanlin Hi

    1. 区别在上面有回复,BoxLite 本身是一个库,类似于 SQLite ,可以嵌入到任何程序一行启动 vm ,不需要提前部署
    2. 这是个好提议,我思考下,能移步 GitHub 提个 issue 么
    d0r1an
        17
    d0r1an  
    OP
       2 天前
    @itechify 我自己的号~只不过以前作为内容消费者,一下子发太多实在是抱歉,我不知道他全部汇聚在技术这个标签下了
    d0r1an
        18
    d0r1an  
    OP
       2 天前
    @dilidilid 主流商业公司只关心主流客户,非主流客户或者新兴需求可能不会跟进那么快,需要在新老客户,产品稳定性,产品定位上做很多权衡
    goodryb
        19
    goodryb  
       2 天前
    问下 op 在你实际的使用上,什么场景下需要在应用里面使用独立的 micro-vm ,这个设计似乎跟 docker 有很大不同的,比如 docker 是为了解决运行环境和应用分发的问题
    d0r1an
        20
    d0r1an  
    OP
       2 天前
    @goodryb 我现在是把 claude code 放在 BoxLite 里面跑,然后给 claude code 开了所有权限,这样 claude code 任意执行代码,删增文件都没有问题,不会影响我的主机环境

    第二个是我会用 BoxLite 起一个带 desktop 的 linux ,然后让 llm 去操作他,执行一些重复性工作

    第三个是现在比较多的 agent 需要做多租户隔离,可以通过 BoxLite 来实现
    nuII
        21
    nuII  
       2 天前
    macos 26 中包含了新的系统级 container ( https://github.com/apple/container),命令基本兼容 podman 和 docker ,实测下来还是非常方便的。UI 的话有第三方的开源版,也算是够用。
    d0r1an
        22
    d0r1an  
    OP
       2 天前
    @nuII 请问你现在主要的使用场景是什么样的
    bravejoe
        23
    bravejoe  
       2 天前
    我的使用场景:一台 Mac Mini ,用 OrbStack 安装了一个 amd64 的 ubuntu 做开发服务器,然后 windows 笔记本作为开发机器,通过 tailscale remote ssh 到 Mac 主机,再 jump 到 orb 的 vm 里开发、编译。
    为什么这样做:
    1. 有一些 C++、windows only 的工作,在 Mac 下不太友好
    2. 把编译工作放在 Mac 上,windows 笔记本的风扇就不会那么烦人
    3. 有时候带孩子出门,有 tailscale 也随时随地可以写代码
    d0r1an
        24
    d0r1an  
    OP
       1 天前
    @bravejoe 如果是这个场景的话,可能 BoxLite 和 OrbStack 的区别就不大,不过我们可以交流下现在用 OrbStack 是否够用,有没有什么恼人的问题,说不定 BoxLite 现在或将来可以解决这些问题
    Livid
        25
    Livid  
    MOD
    PRO
       1 天前
    请不要刷屏。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5497 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 01:32 PVG 09:32 LAX 17:32 JFK 20:32
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86