crun vs systemd-nspawn
crun
github.comsystemd-nspawn
freedesktop.orgSide by side
| Figure | crun | systemd-nspawn |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Linux | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Container Engines | 8.5 (#5) | 7.5 (#18) |
| Integration | The README demonstrates using crun with Podman via the --runtime option. | Running containers register with systemd-machined, which tracks them and provides programming interfaces to interact with them. |
| Purpose | crun is a fast, low-memory-footprint OCI container runtime written in C. | systemd-nspawn runs a command or a full Linux-based operating system in a lightweight namespace container. |
Plans
In their own words
crun
crun is a free, self-hosted OCI container runtime for Linux, written in C. It conforms to the OCI Container Runtime specifications and provides CLI operations for creating, running, executing commands in, listing, pausing, resuming, updating, checkpointing and restoring containers. It can generate a configuration for unprivileged use and creates a user namespace when run by a non-root user. The project documents integration with Podman, an Ansible role for installing a statically linked binary and a Lua binding. Build instructions cover Fedora, RHEL/CentOS Stream 9 and 10, Ubuntu, Alpine and openSUSE Tumbleweed; release binaries are listed for Linux amd64 and arm64, including variants without systemd. Official release artifacts are signed, with GPG verification commands provided. The project reports a benchmark of 100 sequential `/bin/true` containers completing in 1.69 seconds with crun versus 3.34 seconds with runc on the author's machine. The manual marks cgroup v1 support as deprecated. Regular patch releases target the latest version; fixes for earlier versions are best effort and not guaranteed.
systemd-nspawn
systemd-nspawn has no write-up on Specifiction yet; its figures are above.