youki is an implementation of the OCI runtime-spec in Rust, similar to runc. Rust is one of the best languages to implement the oci-runtime spec. Many very nice container tools are currently written in Go. However, the container runtime requires the use of system calls, which requires a bit of special handling when implemented in Go. This is too tricky (e.g. namespaces(7), fork(2)); with Rust, it's not that tricky. And, unlike in C, Rust provides the benefit of memory safety. While Rust is not yet a major player in the container field, it has the potential to contribute a lot: something this project attempts to exemplify. youki has the potential to be faster and use less memory than runc, and therefore works in environments with tight memory usage requirements. Here is a simple benchmark of a container from creation to deletion.
Features
- Documentation available
- Examples available
- Requires Rust
- For Debian, Ubuntu and related distributions
- For Fedora, CentOS, RHEL and related distributions
- Requires Docker