New0.2.0 Mac · Windows · Linux
The modern container runtime.
8× faster than Docker.
Kiri runs Docker containers with one daemon. The docker CLI, Compose and the Docker API work as they do today.
The 8×: docker run takes 22 ms on Kiri and 178 ms on Docker Desktop (152 ms on Colima, 279 ms on OrbStack), every engine on 2 CPUs and 8 GB.
Free, and in beta on Mac, Windows and Linux. Something broken or annoying? Tell us with Feedback in Kiri's window, and we fix it.
- webnginx:alpine47 MBLive
- dbpostgres:17438 MBUp 2 min
- apinode:221.1 GBUp 2 min
- redisredis:7117 MBExited
Kiri's window is now in 15 languages
- Português (Brasil)
- Bahasa Indonesia
Works with what you already use
- docker compose
- docker buildx
- Docker Engine API
- docker compose
- docker buildx
- Docker Engine API
While it runs
Light while it runs.
Ten containers running on one Apple silicon Mac, one runtime at a time: how much CPU and memory each one holds.
CPU and memory · 10 containers running
Sample One Apple-silicon Mac, one runtime at a time. Measured numbers replace these soon. Benchmarks →
- Containers and Compose Every docker command you use, Compose projects grouped in the window, and a page for each container with live logs, a shell and its files.
Containers and Compose
Every docker command you use, Compose projects grouped in the window, and a page for each container with live logs, a shell and its files.
- Images from Docker Hub Search Docker Hub from the window and watch each layer pull. amd64 images run through Rosetta.
Images from Docker Hub
Search Docker Hub from the window and watch each layer pull. amd64 images run through Rosetta.
- Builds, with a scan docker build through BuildKit, a Builds view of every build, and a vulnerability scan of each image on its own page.
Builds, with a scan
docker build through BuildKit, a Builds view of every build, and a vulnerability scan of each image on its own page.
- Kubernetes kiri k8s start gives you a k3s cluster in about 20 seconds, with Pods and Services in the window. kind runs too.
Kubernetes
kiri k8s start gives you a k3s cluster in about 20 seconds, with Pods and Services in the window. kind runs too.
- Linux machines kiri machine create dev --distro ubuntu: your user, sudo, and your Mac folders at the same paths.
Linux machines
kiri machine create dev --distro ubuntu: your user, sudo, and your Mac folders at the same paths.
- Share A public link for any container on runkiri.cloud, from the window or kiri share web. More.
Share
A public link for any container on runkiri.cloud, from the window or kiri share web. More.
- Names and HTTPS Apps open at web.kiri.local, Compose services at api.myapp.kiri.local, with HTTPS from Kiri's own narrow certificate authority.
Names and HTTPS
Apps open at web.kiri.local, Compose services at api.myapp.kiri.local, with HTTPS from Kiri's own narrow certificate authority.
- Light on your Mac Unused memory goes back while it runs, and the VM sleeps after a minute idle. The daemon stays around 15 MB; waking takes 0.15 s.
Light on your Mac
Unused memory goes back while it runs, and the VM sleeps after a minute idle. The daemon stays around 15 MB; waking takes 0.15 s.
- Move over in one go Bring your images, volumes and containers from OrbStack or Docker Desktop, then switch docker to Kiri from the window.
Move over in one go
Bring your images, volumes and containers from OrbStack or Docker Desktop, then switch docker to Kiri from the window.
Prefer the terminal?
The commands you already type.
With Kiri open, the ordinary docker command runs on Kiri, and kiri adds what Docker doesn't have: a name for every container, Kubernetes, Linux machines and a public link.
- kiri run, kiri ps work like their docker twins.
- web.kiri.localhost reaches a container by name, no port to remember.
- kiri k8s start and kiri machine create for a cluster or a Linux box.
- kiri share web puts it on the internet.
图表:Illustrative session. With Kiri open, the ordinary docker command runs on Kiri.
$ kiri run --rm alpine echo "kiri" prints kiri. $ kiri run -d --name web nginx prints a container ID. $ kiri ps lists the running web container. $ curl http://web.kiri.localhost reaches it by name, with no port to remember. $ docker ps shows the same container, because Kiri answers the Docker API. $ kiri share web gives it a public link at web.runkiri.cloud.
Send anyone a link to a container.
Press Share on a running container and it answers at a public address on runkiri.cloud, over HTTPS, until you press Disconnect. Show a client the branch you're on, test a webhook, or open your app on your phone.
- Keep your name. Reserve myapp.runkiri.cloud and it's yours next time too.
- Every computer, one list. Shares from your other Macs and PCs show up too, coloured by the machine they run on.
- Visitors are warned. The first visit to a share shows a Kiri warning page before it opens, so a link can't pass itself off as your bank. View the warning page →
All about Kiri Share →
- webnginx · 8080This Mac
- apimyapp-api · 3000This Mac
- docsastro · 4321Office PC
Disconnect3 shares on your account
- Step 1 Install Open the disk image and drag Kiri to Applications. It sets up docker for you. Download for Mac
Install
Open the disk image and drag Kiri to Applications. It sets up docker for you.
- Step 2 Pull an image Search Docker Hub in Images and press Pull, or: docker pull nginx
Pull an image
Search Docker Hub in Images and press Pull, or:
- Step 3 Run a container Press Run and give it a port. It starts in milliseconds. docker run -p 80:80 nginx
Run a container
Press Run and give it a port. It starts in milliseconds.
- Step 4 Share Press Share on the container for a public link, or: kiri share 80
Share
Press Share on the container for a public link, or:
Five hops. One shim process stays resident for every running container.
The same five hops, and a shim per running container.
One daemon creates namespaces, cgroups and mounts itself. Nothing per container is left running. Most of this time is the docker CLI starting up. Through the Docker API, a whole container lifecycle takes 3.1 ms.
Medians from one full run on one Apple Silicon Mac, every engine limited to 2 CPUs and 8 GB, all three through the same docker CLI with Docker's default bridge networking. Stops are drawn evenly; only the totals are figures. Windows has its own race.
Full benchmarks: p99s, the Docker API path and every raw figure →
One VM, one daemonSee the numbers →
Boot once
One VM serves every container. Cold boot to ready takes 112 ms, down from 810 ms on a stock kernel.
Talk directly
Requests cross one vsock channel into the VM, not a chain of Unix sockets. A round trip takes 31 µs.
Leave nothing behind
No process stays per container. OrbStack keeps a shim for each one: 143 running containers held 1.13 GB in shims on our test Mac.
Measured on one Apple Silicon Mac. Method and raw numbers are on the benchmarks page.
A native app, not a web wrapper.
AppKit and the system WebKit on the Mac, Win32 and WebView2 on Windows, so no Electron and no bundled browser. Manage containers, images, volumes, networks and Compose projects, with live stats, logs, a terminal and files for each container. Running apps open by name at myapp.kiri.local. On the Mac it brings your images and volumes over from OrbStack or Docker Desktop, and lives in the menu bar.
- MacOne minimal Linux VM through Virtualization.framework
- WindowsInside WSL2, with the Docker API on a named pipe (beta)
- LinuxNative, no VM at all: the daemon calls clone3 on your kernel
Containers 4 running · 5
NameImageStateCreatedActions
web nginx:alpine Up 2 min 2 min ago Live···
api node:22 Up 2 min 2 min ago Share···
db postgres:17 Up 2 min 2 min ago Share···
worker python:3.13 Up 40 s 1 min ago Share···
redis redis:7 Exited (0) 1 h ago Start···
Kiri for Mac is out.
Every number on this page was measured on it. Kiri sets up a kiri docker context and brings its own docker, Compose and buildx, so there's nothing else to install. Coming from OrbStack or Docker Desktop? Kiri brings your images and volumes over.
Download for Mac All platforms
Then, in a new terminal:
$ docker run --rm hello-world
Same docker and docker compose you use today.