runc
Подробнее
- Создатель
- Docker Inc.
- Выпущен
- Владелец
- Open Container Initiative
- Тип
- Среда выполнения OCI
- Лицензия
- Apache 2.0
- Исходный код
- github.com/opencontainers/runc
Эталонная реализация среды выполнения OCI — небольшой бинарник на Go, который вызывает системные вызовы Linux (clone, пространства имён, cgroups) и тем самым запускает контейнер.
Появился из libcontainer Docker в 2015 году, когда Docker разделился на части и передал низкоуровневую часть в OCI. Берёт bundle (rootfs + config.json), форкает init-процесс, настраивает пространства имён pid/net/mount/uts/ipc/user, применяет фильтры seccomp и вызывает execve.
Альтернативы: crun (на C, быстрее холодный старт), gVisor runsc, Kata kata-runtime, youki (на Rust). Большинство боевых кластеров по умолчанию используют runc, потому что он «просто работает».