搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

libracoder/kiri

运维与部署

用 Rust 编写的轻量容器运行时,在 macOS、Windows 和 Linux 上运行 Docker 镜像。

544
42
Rust
Apache-2.0
创建于 4 天前

项目介绍

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 生成,更新于 ,以项目官方文档为准。