这个项目能做什么

container 是 Apple 提供的命令行工具,用于在 Mac 上创建和运行作为轻量级虚拟机的 Linux 容器。它使用 Swift 编写,并针对 Apple Silicon 进行了优化。该工具可以消费和生成 OCI 兼容的容器镜像,因此镜像可以从任何标准容器注册库拉取和推送,并在其他 OCI 兼容的应用程序中运行。 在底层,它依赖于 Containerization Swift 包进行低级别的容器、镜像和进程管理。 要求和平台支持:需要 Apple Silicon Mac,该工具在 macOS 26 上受支持,利用该版本的虚拟化和网络功能。旧版 macOS 不受支持。 安装通过 GitHub 发布页面的签名安装程序包完成,文件将放置在 /usr/local。系统服务可通过 `container system start` 启动。首个容器可通过 `container run --rm alpine echo hello` 运行,这会拉取 alpine 镜像,在轻量级 Linux 虚拟机中运行它,打印输出,并在退出时删除容器。 升级和降级通过重新安装签名安装程序包或使用已安装的 update-container.sh 脚本来处理;在操作前必须先停止现有服务。降级需要先卸载当前版本,可选择使用 -k 标志保留用户数据,或使用 -d 标志删除数据。卸载使用 uninstall-container.sh 脚本,具有相同的数据保留选项。 文档包括一个引导教程,演示如何构建、运行并发布一个简单的 Web 服务器镜像,操作指南、技术概览、完整命令参考、构建说明以及生成的 API 文档。欢迎通过项目的贡献指南提交贡献。 该项目正在积极开发中,其发布版本是产品版本而非语义化版本。在主要版本内,CLI 兼容性通常得到保留,尽管偶尔可能需要破坏性更改;标记为实验性的功能(如 k8s 子命令)可能会在没有向后兼容性保证的情况下发生变化。container-apiserver XPC API 在主要版本内保持前向和后向兼容性,而其他非公开的 XPC 辅助则不保证跨版本兼容性。应用数据仅提供前向兼容性,且仅在一个主要版本内得到保证;升级到更高的主要版本可能需要特定的升级路径。