苹果在WWDC 2026上正式开源了专为Mac打造的容器工具Container,发布后迅速在GitHub上斩获超过三万颗星标。这款由Swift编写的Command Line工具深度适配Apple Silicon芯片,能够在Mac上以接近原生的性能运行Linux容器,同时完全兼容OCI标准,为Mac开发者提供了一个无需依赖Docker Desktop的官方容器解决方案。
为什么Mac运行Linux容器一直很别扭?
长期以来,Mac开发者要在本机跑Linux容器,无非两个选择:Docker Desktop或OrbStack这类第三方工具。但它们本质上都绕不开一个底层问题——macOS没有Linux内核,所以必须先启动一个Linux虚拟机,再把容器跑在虚拟机里面。
Docker Desktop的做法是启动一个共享的Linux虚拟机,所有容器挤在同一个环境里,共享内核。好处是资源利用率高,但容器之间的隔离性有限。而OrbStack做了轻量级虚拟机的优化,速度快了不少,但仍然是"一个Linux VM跑多个容器"的模型。
苹果的Container工具则走了一条完全不同的路——每个容器启动时,都会创建一个独立的轻量级Linux虚拟机。每个容器都有自己的内核、文件系统和网络栈,隔离性强,同时由于深度利用了Apple Silicon的Virtualization.framework,启动速度可以做到不到1秒,几乎感觉不到虚拟机的存在。
Container工具到底有什么特别之处?
从技术架构上看,Container底层依赖苹果开源的Swift容器技术框架Containerization,这个框架处理低阶的容器、镜像和进程管理。Container工具本身则提供了一系列CLI命令,让开发者可以拉取镜像、构建镜像、运行容器、管理生命周期。
在系统支持上,Container要求搭载Apple Silicon(M系列芯片)的Mac,主要支持macOS 26版本。虽然macOS 15也能运行,但功能会受限,比如容器之间无法通过虚拟网络通信。这一点需要注意。
核心优势如下:
- 原生集成:基于Swift编写,深度优化Apple Silicon,冷启动速度极快,实测Alpine镜像从拉取到运行不到1秒。
- OCI兼容:支持标准OCI容器镜像,你可以直接从Docker Hub拉取现有的Linux镜像直接运行,生态兼容性有保证。
- 安全隔离:每容器独立VM,隔离级别远高于共享内核的Docker模型,适合跑不可信的代码。
- 持久化容器机器:即Container Machine功能,创建可保留状态的Linux环境,类似于WSL2,非常适合日常开发、编译、测试。
快速上手:安装与运行你的第一个容器
安装很简单,从GitHub Release页面下载pkg安装包,双击安装即可。然后启动服务、拉取镜像、运行容器,三个命令行搞定:
# 启动Container服务
container system start
# 拉取Alpine镜像
container pull alpine
# 运行容器并执行命令
container run alpine uname -a
# 输出:Linux xxx 6.12.28 #1 SMP aarch64 Linux
# 查看运行中的容器
container list看到没?命令风格和Docker高度相似,几乎不需要学习成本。如果你想运行一个Nginx服务:
container run -d -p 8080:80 nginx:latest然后浏览器打开http://localhost:8080就能看到Nginx的欢迎页。整个流程非常顺滑,没有额外配置,没有虚拟机拖后腿的感觉。
Container Machine:持久化的Linux开发环境
Container 1.0里最值得关注的新功能是Container Machine。普通容器跑完就销毁,但Machine可以保留文件系统,停了再启动,状态还在。非常适合搭建固定开发环境、测试服务,或者反复跑同一套工作流程。
# 创建一个名为dev的持久化Linux环境container machine create --name dev alpine
进入环境,获得交互式shell
container machine run -n dev
查看所有容器机器
container machine list
这个体验就跟WSL2很像,在Mac上开一个Linux环境,跑编译、跑测试、装工具,随便折腾,折腾坏了就删掉重建,比本地装一堆依赖干净利落得多。
值得注意的短板与社区反馈
尽管热度很高,但Container目前还算不上完美。一些开发者实测后发现,大镜像的解压速度很慢——有人跑了一个含11万文件、415MB的OCaml镜像,解压花了将近10分钟,而Docker只需几秒。这个问题源于Container在用户空间用Swift重新实现的ext4文件系统性能瓶颈。
另外,目前还不支持docker-compose编排、不支持Kubernetes接入、不支持GPU直通,这些功能都是社区呼声最高的需求。Github Discussions上关于compose支持的投票已经超过500票。所以短期内,这个工具更适合个人开发、测试等轻量场景,离替代Docker Desktop还有距离。
总结与展望
苹果开源Container的象征意义大于实用意义——它终于让Mac平台上有了一个官方背书、原生架构的容器解决方案。VM级隔离的设计在安全性上确实优于Docker的共享内核模型。而且苹果开放了整个Containerization框架,意味着社区可以持续贡献,这套基础设施的成熟只是时间问题。
如果你是Mac开发者,我建议花十分钟装上Container,亲自跑几个镜像感受一下。它不一定能立刻取代你手头的Docker或OrbStack,但那种"Mac原生的Linux容器"体验确实让人兴奋。随着版本迭代,未来它非常有可能成为Apple Silicon Mac上运行Linux容器的标准方案。
顺便一提,如果你需要一台云服务器做容器宿主机来跑这些实验,可以看看雨云服务器(优惠码:aabh),性价比不错,用来练手挺合适。
评论区: