📌 项目地址:apple/container | ⭐ 29,217 颗星 | 🔧 Swift | 📜 未标注
项目简介
container 是苹果官方(Apple)开发的一款开源工具,专门用于在 Mac(Apple Silicon)上创建和运行 Linux 容器。它的底层使用 macOS 虚拟化技术,将每个容器当作一台轻量级虚拟机来运行,而非传统意义上的共享内核容器。工具由 Swift 编写,并针对 M 系列芯片做了深度优化。
它与 OCI(Open Container Initiative)镜像标准兼容,因此你可以从 Docker Hub、GitHub Container Registry 等任何标准容器仓库拉取和推送镜像,生成的镜像也能在其他 OCI 兼容的运行时中运行。核心的容器管理逻辑依赖于苹果开源的 Containerization Swift 包。
安装与使用
硬件与系统要求
- 必须使用 Apple Silicon 芯片的 Mac(M1、M2、M3 等系列)。
- 操作系统必须为 macOS 26(新版本,苹果官方在 2025 年发布),因为 container 利用了该版本新增的虚拟化和网络增强功能。不兼容旧版 macOS。
安装步骤
- 从 GitHub Release 页面 下载最新的签名安装包(.pkg)。
- 双击安装包,按提示输入管理员密码,安装文件会被放入
/usr/local目录。 - 启动系统服务:
container system start
系统服务启动后,即可使用 container 创建和管理容器。详细的入门教程请参考官方 guided tour,那里演示了如何构建、运行和发布一个简单的 Web 服务器镜像。
升级与降级
停止当前服务:
container system stop
升级到最新版:
/usr/local/bin/update-container.sh
降级(例如降到 0.3.0 版本):
/usr/local/bin/uninstall-container.sh -k # -k 保留用户数据
/usr/local/bin/update-container.sh -v 0.3.0
卸载
保留用户数据:
/usr/local/bin/uninstall-container.sh -k
同时删除用户数据:
/usr/local/bin/uninstall-container.sh -d
与同类工具的关键区别
目前 Mac 上运行 Linux 容器的常见方案包括:
- Docker Desktop:使用 macOS 的 Hypervisor.framework,通过 LinuxKit 虚拟机运行容器,性能较好但资源占用高,且依赖 Docker 专有引擎。
- OrbStack:主打轻量、快速启动,使用原生虚拟化,兼容 Docker CLI,但在 OCI 标准支持上完全对齐。
- Podman:通过 Podman Machine 创建 Linux 虚拟机,支持 rootless,但配置稍复杂,且对 Apple Silicon 的优化程度不一。
container 的独特之处在于:
- 苹果官方出品,天然适配 macOS 26 的最新虚拟化 API,未来维护和更新有保障。
- 每个容器运行在独立的轻量级虚拟机,隔离性更强,比共享内核的容器安全性更高(传统容器共享宿主机内核,而 container 的每个容器有独立内核)。
- OCI 标准兼容,可直接拉取 Docker Hub 上的镜像,无需额外转换。
- Swift 实现,对苹果生态开发者更友好,易于扩展和集成。
不过,container 目前仍处于早期阶段(0.x),功能尚未完善,且仅支持 macOS 26 及以上版本,无法在 Intel Mac 或旧版系统上使用。
注意事项
- 仅限 Apple Silicon:Intel Macs 无法运行,官方明确表示不支持。
- 仅限 macOS 26:旧版 macOS 不能安装或运行,官方不会为旧系统提供兼容修复。
- 管理员权限:安装和启动服务需要输入 sudo 密码,因为文件写入
/usr/local并启动系统服务。 - 用户数据存储:卸载脚本提供了
-k(保留数据)和-d(删除数据)选项,重装后用户数据是否保留取决于你的选择。 - 许可证:项目采用开源协议(具体见仓库 LICENSE 文件),但注意 OCI 镜像的版权由各自镜像提供方决定。
如果你正在使用 macOS 26 且对容器隔离性有更高要求,或者希望体验苹果原生虚拟化方案,container 值得一试。对于仍在使用 macOS 25 或 Intel Mac 的用户,请等待官方扩展支持,或继续使用 Docker Desktop、OrbStack 等成熟方案。