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

1 天前
 d0r1an

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

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

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

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

1. pip install boxlite
2. import boxlite

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

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

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

第三个是现在比较多的 agent 需要做多租户隔离,可以通过 BoxLite 来实现

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1180274

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX