kiri README

The project's README from github.com/libracoder/kiri. As one markdown file: README.md.

Kiri

A tiny, fast container runtime for macOS, Windows and Linux.
Runs your Docker images and works with the docker CLI, Compose and buildx you already use.

Download · Features · Build from source · Releases

Latest release License: Apache-2.0

The Kiri window, showing containers grouped by Compose project with their state, ports, local domains and size


Kiri is a lightweight replacement for Docker Desktop and OrbStack, written in Rust. It runs containers in one small Linux VM (or straight on the kernel on Linux) and speaks the Docker Engine API, so your tools just work.

The name comes from the Igbo word ntakịrị, "small".

Why Kiri

Install

Platform Get it
macOS 14+ (Apple silicon or Intel) .dmg from runkiri.com/releases
Windows 10 and 11 (x86-64 or Arm, through WSL 2) .msi from runkiri.com/releases
Linux (Ubuntu, Fedora and others) .deb or .rpm from runkiri.com/releases

The first time you open Kiri, it sets up a kiri Docker context. Kiri updates itself, and checks each new release's signature first.

Quick start

docker --context kiri run --rm alpine echo hello
docker --context kiri compose up -d
kiri k8s start                      # single-node Kubernetes as the `kiri` kubectl context
kiri machine create dev --distro ubuntu && kiri machine shell dev
kiri import                         # bring images, volumes and containers over from OrbStack or Docker Desktop

Docker's commands also work as kiri commands (kiri run, kiri ps, kiri compose up, and so on), and always target Kiri.

Numbers

alpine running true and removed, median of 30 runs, same docker CLI for all three:

Docker Engine API docker CLI
Kiri 2.55 ms 14.2 ms
Docker Desktop 213 ms 243 ms
OrbStack 380 ms 442 ms

Method and every other figure are in bench/results.json. Rerun with kiri bench.

How it works

docker CLI ─┐
compose ────┼─ Docker Engine API ─► kiri daemon ── vsock ──► guest agent (PID 1)
buildx ─────┤                         owns the VM           clone3 → container
kiri UI ────┘

The VM uses a custom 10 MB kernel, and its PID 1 is a ~900 KB Rust agent. That agent starts containers with a single clone3 into namespaces and a cgroup. There's no runc, no shim and no dockerd. More detail is in docs/development.md.

Documentation

Roadmap

Next is a built-in builder. Kiri will serve Docker's own build endpoints, so buildx uses its docker driver against Kiri as it does against Docker Desktop. This brings host-gateway support to BuildKit builds, and images load straight into Kiri.

Contributing

Issues and pull requests are welcome. See CONTRIBUTING.md and the Code of Conduct. To report a vulnerability privately, see SECURITY.md.

License

Apache-2.0. Third-party licences are in NOTICE. The guest kernel is Linux (GPL-2.0); its config, patches and the source offer are in guest/kernel.

The name "Kiri" and the Kiri logo are not covered by the licence. Forks are welcome, under a different name and logo.

kiri (libracoder/kiri)

Searching Database…

827 ·GitHub

Kiri is a lightweight replacement for Docker Desktop and OrbStack, written in Rust. It runs containers in one small Linux VM (or straight on the kernel on Linux) and speaks the Docker Engine API, so your tools just work.

Creator
libracoder
Size
2.2 MB
Stars
827
Age
5d
Commits · 90 Days