awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
containers avatar

containers/crun

0
View on GitHub↗
3,975 stars·417 forks·C·GPL-2.0·6 views

Crun

crun is a low-level container runtime that implements the Open Container Initiative specification for managing the lifecycle of isolated processes. It provides the core mechanisms for container creation, execution, and deletion, ensuring compatibility across platforms through standardized lifecycle management.

The project distinguishes itself by offering a shared C library that allows container runtime operations to be embedded directly into other compiled applications. It further extends execution capabilities through specialized handlers that enable the deployment of containers within isolated microVMs or the execution of WebAssembly workloads.

The runtime covers a broad range of low-level isolation and resource management capabilities. This includes the use of namespaces and seccomp filters for security, cgroups for CPU and memory limit enforcement, and tools for saving and resuming container execution states via checkpoint and restore. It also provides interfaces for dynamic resource updates, mount management, and automation via an embedded Lua interface.

Features

  • OCI Container Engines - Implements a low-level container runtime following the Open Container Initiative specification for process lifecycle management.
  • OCI Runtime Implementations - Implements a low-level container runtime that adheres to the Open Container Initiative specifications.
  • Container Isolation Configuration - Implements low-level isolation using Linux kernel namespaces and cgroups to secure container processes.
  • Container Command Executors - Allows running new processes inside an existing container with custom environment variables and terminal allocation.
  • OCI Container Process Management - Manages isolated process lifecycles and signals according to the OCI runtime specification.
  • C Libraries - Exposes runtime operations as a portable C library for direct binary linking into other applications.
  • Container Runtime Libraries - Ships as a shared C library that exposes container runtime operations for integration into other applications.
  • Runtime API Embeddings - Exposes container runtime operations as a shared C library for seamless integration into compiled applications.
  • Namespace-Based Isolation - Leverages Linux kernel namespaces to isolate container processes from the host system.
  • Runtime Library Embedding - Provides a shared C library that allows container runtime operations to be embedded directly into other compiled applications.
  • Process Signal Management - Sends OS-level signals to the init process or all container processes to manage termination and shutdowns.
  • Library Embedding - Allows the container runtime to be integrated as a library within another application.
  • Security Policy Enforcers - Applies security profiles and restricts system calls to isolate container processes from the host.
  • Root Filesystem Isolation - Implements root filesystem security via symlink resolution and management of read-only paths and mount propagation.
  • Seccomp Profiles - Restricts available kernel system calls by applying seccomp security profiles and raw filter data.
  • Container Cgroup Resource Limits - Enforces CPU and memory limits on containers using Linux kernel control groups.
  • Container Lifecycle Management - Manages the full container lifecycle, including creation, starting, pausing, resuming, and deletion.
  • Container State Inspection - Provides capabilities to list known containers and output the current status of running processes.
  • Control Group Resource Limiting - Controls resource allocation and limits through kernel-level control groups.
  • Container State Persistence - Preserves the execution state of a running container on disk to allow resumption from that point.
  • Container Checkpointing - Freezes a running container's process state to disk for later resumption.
  • Wasm Execution Engines - Provides an execution layer that allows WebAssembly workloads to run as isolated processes within container environments.
  • Container Directory Mounting - Provides configuration for advanced bind mount behaviors for host-to-container file sharing.
  • Binary Workload Execution - Supports launching containers using alternative handlers for virtualized kernels or non-standard binary formats.
  • External Workload Handlers - Implements specialized handlers to launch containers within isolated microVMs or execute WebAssembly workloads.
  • Dynamic Mount Management - Allows adding or removing mount points from a running container using a structured configuration file.
  • Process State Checkpointing - Saves and resumes the execution state of a running process by serializing its memory and registers to disk.
  • MicroVM Runtimes - Includes specialized handlers to launch containers within isolated microVMs for enhanced security boundaries.
  • MicroVM Configuration - Allows defining microVM parameters through configuration files or specific annotations within the container image.
  • Virtualized Container Execution - Execution of containerized programs within isolated kernel-based virtual machine environments for enhanced security boundaries.
  • Embedded Lua Scripting - Provides an embedded Lua scripting interface for automating container management tasks.
  • Lua Script Execution Environments - Exposes the runtime library to Lua scripts for programmatic control of container environments.
  • WebAssembly - Supports the execution of portable WebAssembly binary workloads by interfacing with compatible runtime engines.
  • WebAssembly Runtimes - Interfaces with compatible runtime engines to execute portable WebAssembly binary workloads as containers.
  • Dynamic Resource Updates - Enables the modification of CPU, memory, and PID limits for running containers without requiring a restart.
  • Container Runtimes and Platforms - Fast, lightweight OCI runtime.

Star history

Star history chart for containers/crunStar history chart for containers/crun

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Curated searches featuring Crun

Hand-picked collections where Crun appears.
  • Rootless Container Runtimes
  • Container Runtime Implementation Projects
  • Containerization

Open-source alternatives to Crun

Similar open-source projects, ranked by how many features they share with Crun.
  • youki-dev/youkiyouki-dev avatar

    youki-dev/youki

    7,452View on GitHub↗

    Youki is a low-level container runtime written in Rust that creates and manages isolated containers according to Open Container Initiative specifications. It serves as an execution engine that can function as a rootless container manager or a pluggable Kubernetes CRI runtime to manage pods and containers within a cluster. The project distinguishes itself by providing a Wasm container runtime capable of executing WebAssembly modules as isolated workloads compatible with standard orchestration tools. It further supports a rootless execution model, allowing isolated environments to start as non-

    Rustcontainersdockerkubernetes
    View on GitHub↗7,452
  • runfinch/finchrunfinch avatar

    runfinch/finch

    4,036View on GitHub↗

    Finch is a virtual machine-based container runtime and OCI container management CLI used for local container development. It operates by running container workloads inside a background virtual machine to isolate them from the host operating system. The project serves as an OCI image builder and a multi-container service orchestrator for simulating complex production environments on a workstation. The runtime functions as a cross-platform container engine, utilizing emulation layers to execute container images built for foreign CPU architectures. It distinguishes its image distribution through

    Gocontainerdcontainerslima-vm
    View on GitHub↗4,036
  • containers/youkicontainers avatar

    containers/youki

    7,463View on GitHub↗

    Youki is an OCI container runtime written in Rust. It implements the Open Container Initiative runtime specification to manage the lifecycle of containerized processes and ensure compatibility with standard container images and engines. The runtime is designed for memory safety and supports rootless container execution, allowing containers to run as non-root users to reduce security risks and limit privilege escalation. It provides core container management capabilities, including spawning and managing OCI containers. This is achieved through Linux namespace isolation, cgroup-based resource

    Rust
    View on GitHub↗7,463
  • lxc/incuslxc avatar

    lxc/incus

    4,893View on GitHub↗

    Incus is a unified orchestration platform for managing system containers, OCI application containers, and virtual machines through a single control plane. It brings together cluster infrastructure management, secure multi-tenancy, software-defined networking, and pluggable storage backend orchestration into one cohesive system exposed via a full REST API and command-line interface. What distinguishes Incus is its ability to run multiple instance types side by side—full Linux system containers, OCI application containers, and QEMU virtual machines—all managed with consistent tooling. Networkin

    Gocloudcontainershacktoberfest
    View on GitHub↗4,893
See all 30 alternatives to Crun→

Frequently asked questions

What does containers/crun do?

crun is a low-level container runtime that implements the Open Container Initiative specification for managing the lifecycle of isolated processes. It provides the core mechanisms for container creation, execution, and deletion, ensuring compatibility across platforms through standardized lifecycle management.

What are the main features of containers/crun?

The main features of containers/crun are: OCI Container Engines, OCI Runtime Implementations, Container Isolation Configuration, Container Command Executors, OCI Container Process Management, C Libraries, Container Runtime Libraries, Runtime API Embeddings.

What are some open-source alternatives to containers/crun?

Open-source alternatives to containers/crun include: youki-dev/youki — Youki is a low-level container runtime written in Rust that creates and manages isolated containers according to Open… runfinch/finch — Finch is a virtual machine-based container runtime and OCI container management CLI used for local container… containers/youki — Youki is an OCI container runtime written in Rust. It implements the Open Container Initiative runtime specification… lxc/incus — Incus is a unified orchestration platform for managing system containers, OCI application containers, and virtual… docker/docker-ce — Docker CE is an OCI compliant container platform and runtime engine used for building and running applications within… docker/docker — Docker is an OCI container engine and runtime orchestrator used to build, run, and manage isolated applications. It…