container:Mac 上的 Linux 容器工具
Apple 用 Swift 编写的命令行工具,借助轻量虚拟机在 Apple 芯片 Mac 上创建和运行 OCI Linux 容器。
- 浏览
- 4
- 访问
- 0
- 下载
- 0
- 版本
- v1.6.1
- 平台
- macOS
详细介绍
项目简介
container 是 Apple 开源的一款命令行工具,用于在 Mac 上以轻量虚拟机的形式创建和运行 Linux 容器。它使用 Swift 编写,针对 Apple 芯片做了优化,底层依赖 Containerization Swift 包完成容器、镜像和进程管理。
该工具消费和产出 OCI 兼容的容器镜像,因此可以从任意标准容器镜像仓库拉取并运行镜像,也可以把自行构建的镜像推送到这些仓库,并在其他 OCI 兼容应用中运行。

主要功能
- 在 Mac 上以轻量 Linux 虚拟机的方式创建、运行和管理容器
- 支持从标准容器镜像仓库拉取镜像,也支持推送自建镜像
- 产出与消费 OCI 兼容镜像,可与其他 OCI 兼容应用互通
- 提供
container cluster子命令用于集群相关操作(属于实验性功能) - 提供命令行工具与 API 文档,便于脚本化使用和二次开发
安装与使用
环境要求
- 需要一台 Apple 芯片的 Mac
- 支持 macOS 26,并依赖该系统版本在虚拟化与网络方面的新能力;不支持更早版本的 macOS
安装
从 GitHub release 页面 下载最新的已签名安装包,双击安装包并按照提示操作。安装程序会要求输入管理员密码,以便把文件安装到 /usr/local 下。
安装完成后启动系统服务:
container system start
运行第一个容器
container run --rm alpine echo hello
该命令会拉取 alpine 镜像,在轻量 Linux 虚拟机中运行,输出 hello,并在退出后删除容器。更完整的演练(构建并发布自己的镜像)见教程。
升级或降级
无论升级还是降级,都可以手动下载并安装已签名安装包,或使用安装在 /usr/local/bin 的 update-container.sh 脚本。操作前需要先停止现有服务:
container system stop
升级到最新版本:
/usr/local/bin/update-container.sh
降级前必须先卸载现有版本(-k 保留用户数据,-d 删除用户数据):
/usr/local/bin/uninstall-container.sh -k
/usr/local/bin/update-container.sh -v 0.3.0
随后重新启动服务:
container system start
卸载
/usr/local/bin/uninstall-container.sh -d
使用 -k 可保留用户数据,方便日后重新安装时复用。
注意事项
- 项目处于活跃开发中,发布版本号是产品版本而非语义化版本号。
- CLI 在同一主版本内通常保持向后兼容,不破坏已有脚本,但仍可能出现必要的破坏性变更。
- 标记为实验性的功能(如
cluster子命令)可能发生变化,不保证向后兼容。 container-apiserver的 XPC API 在同一主版本内保持向前和向后兼容;其他非公开 XPC 辅助组件不保证跨版本兼容。- 应用数据只保证向前兼容,且限于同一主版本;升级到新的主版本可能需要特定的升级路径。
本作品整理自 GitHub 开源项目 apple/container,原作者 @apple,许可证 Apache-2.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v1.6.1当前版本
修复信号未能正确传递给容器进程的问题;修复并发创建集群时的端口冲突与残留失败节点问题;集群子命令更名为 container cluster。
评论