libracoder/kiri
运维与部署用 Rust 编写的轻量容器运行时,在 macOS、Windows 和 Linux 上运行 Docker 镜像。
项目介绍
Kiri 是一个用 Rust 写的容器运行时。在 macOS 和 Windows 上,它把容器跑在一个小型 Linux 虚拟机里;在 Linux 上则直接运行在内核上。它实现了 Docker Engine API,因此现有的 docker CLI、Compose 和 buildx 都能通过一个名为 kiri 的 Docker context 继续使用。项目定位是 Docker Desktop 和 OrbStack 的轻量替代品,同时提供原生的桌面窗口来管理容器、镜像、卷和网络,并附带本地域名和一键启动的 Kubernetes 集群。
实现方式比较特别:guest agent 作为 PID 1,通过一次 clone3 调用把容器放入命名空间和 cgroup,没有 runc、shim 或 dockerd;虚拟机使用项目自制的小内核,daemon 通过 vsock 与 guest 通信。具体说明见架构文档。
它适合想要 Docker 兼容的本地开发环境、又希望降低资源占用和加快容器启动的开发者,尤其是从 Docker Desktop 或 OrbStack 迁移的人。
快速使用
各平台的安装包分别分发:macOS 14+ 用 .dmg,Windows 10/11 通过 WSL 2 用 .msi,Linux 用 .deb 或 .rpm。从 Kiri 发布页下载安装。首次打开时,Kiri 会自动创建 kiri Docker context。
之后对 kiri context 执行常用的 Docker 命令,或使用等价的 kiri 命令:
docker --context kiri run --rm alpine echo hello
docker --context kiri compose up -d
kiri k8s start
kiri machine create dev --distro ubuntu && kiri machine shell dev
kiri import
这套命令来自 README 的快速开始。kiri import 会从 OrbStack 或 Docker Desktop 迁移镜像、卷和容器;kiri k8s start 创建单节点集群并注册为 kiri kubectl context;kiri machine create 创建可登录的 Linux 虚拟机。
使用约束
- macOS 需要 14 或更高版本,支持 Apple silicon 和 Intel;Windows 通过 WSL 2 运行,支持 x86-64 和 Arm;Linux 通过
.deb/.rpm支持 Ubuntu、Fedora 等发行版。 - 在条件允许时,amd64 镜像通过 Rosetta 运行。
- 项目采用 Apache-2.0 许可证,但名称和 logo 不在许可证覆盖范围内,fork 需要换用不同的名称和 logo。guest 内核是 GPL-2.0 的 Linux,其配置、补丁和源码提供说明保留在仓库中。
- 基准数据(README 表格中约 2.5 ms 的 API 层容器启动、比 Docker Desktop 快约 80 倍)是项目自测结果,方法和原始数据在 bench/results.json,可用
kiri bench重新运行。 - 内置构建器仍在路线图中,目前的 buildx 使用依赖已有的 Docker 集成。
HotRepo 点评
Kiri 在 2026-11-04 的 HotRepo 新项目榜上有记录:进入 Rust 语言新项目列表,当时 111 star,在约四小时窗口(15:45–19:45 UTC)内新增 8 star。它在 GitHub 全部语言日榜上没有记录到名次,现有材料只能说明曾在 Rust 新项目榜短暂出现,不能据此判断大范围热度。项目的卖点建立在一个具体的技术对比上——自制小内核与基于 clone3 的 agent 取代 runc 和 dockerd——并公开了基准结果,读者在采用前有明确的东西可以核查。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。