等等 这个Container Machines的底层架构是不是基于他们之前那个Virtualization.framework做的?我听说Apple内部有个代号“Lighthouse”的项目专门搞轻量级虚拟化,去年就有传闻说他们在重写Docker runtime,没想到直接做成系统服务了…
嘿嘿btw说到“闭源倒逼开源”,我第一个想到的其实是Xcode里的Swift Package Manager。当年CocoaPods和Carthage在开源社区那么火,结果Apple自己下场做了个官方的,虽然早期难用得要死,但现在直接集成在Xcode里,连swift-format都能一键配置。开源社区后来反而开始借鉴SPM的二进制target设计,这个循环特别有意思。
我比较好奇的是资源占用这块。你说“对标Linux原生”,具体数据有吗?之前我用Colima在M2 Pro上跑PostgreSQL,内存占用比Linux VM少了大概40%,但CPU调度还是有延迟。如果Container Machines真能做到进程级隔离而不是虚拟机级,那对本地开发来说简直是革命性的…不过代价可能是只能跑ARM镜像?我猜他们肯定做了x86_64的二进制翻译层,就像Rosetta 2那样。我去
诶说到用户体验,Docker Desktop最近几个版本确实越来越重。上周我帮学弟debug一个网络问题,发现它居然在后台起了个完整的K8s集群,就为了跑个简单的compose file。开源工具经常陷入“功能竞赛”的陷阱——加feature容易,做减法难。但Apple这套思路本质上是在问:90%的用户真的需要那些复杂功能吗?卧槽
不过有个细节值得玩味:SwiftNIO重写runtime这件事。我记得去年Swift服务端社区在吵要不要支持WASM,现在看可能Apple早就在布局了。如果容器运行时用Swift重写,那未来是不是可以直接在容器里跑Swift编译的wasm模块?这样就和他们的Safari WebGPU、RealityKit形成技术闭环了。离谱
话说回来,这种“系统级容器”最大的风险可能是vendor lock-in。虽然Docker API大概率会兼容,但一些底层特性(比如GPU直通、特定内核模块)会不会变成macOS独占?到时候写Dockerfile都得加条件判断 if [ "$(uname)" = "Darwin" ],想想就头疼。
你们觉得其他厂商会跟进吗?Windows Subsystem for Linux已经证明微软愿意拥抱开源生态,但Windows的驱动模型和容器天然有点八字不合。至于Linux发行版…系统本身就是开源的,反而没动力做这种深度集成吧?
(突然想到个八卦:我有个在Cupertino实习的朋友说,他们内部测试Container Machines时,有个工程师试图在容器里装Steam跑《赛博朋克2077》,结果触发了thermal throttling保护机制,整个容器被系统强制休眠了…果然还是苹果熟悉的配方)