CLI tool for spawning and running containers according to the OCI specification (by opencontainers)


Basic runc repo stats
10 days ago

opencontainers/runc is an open source project licensed under Apache License 2.0 which is an OSI approved license.

Runc Alternatives

Similar projects and alternatives to runc

  • GitHub repo crun

    A fast and lightweight fully featured OCI runtime and C library for running containers

  • GitHub repo kubernetes

    Production-Grade Container Scheduling and Management

  • GitHub repo kaniko

    Build Container Images In Kubernetes

  • GitHub repo distribution-spec

    OCI Distribution Specification

  • GitHub repo go

    The Go programming language

  • GitHub repo dive

    A tool for exploring each layer in a docker image

  • GitHub repo Fiber

    ⚡️ Express inspired web framework written in Go

  • GitHub repo jib

    🏗 Build container images for your Java applications.

  • GitHub repo containerd

    An open and reliable container runtime

  • GitHub repo podman

    Podman: A tool for managing OCI containers and pods

  • GitHub repo sops

    Simple and flexible tool for managing secrets

  • GitHub repo buildkit

    concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit

  • GitHub repo skopeo

    Work with remote images registries - retrieving information, images, signing content

  • GitHub repo virtual-kubelet

    Virtual Kubelet is an open source Kubernetes kubelet implementation.

  • GitHub repo runtime-spec

    OCI Runtime Specification

  • GitHub repo source-to-image

    A tool for building artifacts from source and injecting into container images

  • GitHub repo gatekeeper

    Gatekeeper - Policy Controller for Kubernetes

  • GitHub repo enhancements

    Enhancements tracking repo for Kubernetes

  • GitHub repo railcar

    RailCar: Rust implementation of the Open Containers Initiative oci-runtime (by drahnr)

  • GitHub repo actions

NOTE: The number of mentions on this list indicates mentions on common posts. Hence, a higher number means a better runc alternative or higher similarity.


Posts where runc has been mentioned. We have used some of these posts to build our list of alternatives and similar projects - the last one was on 2021-04-28.
  • I spent more than a week chasing on-prem PLEG unhealthy and sandbox timeouts. What I learned: Avoid runc 1.0.0-rc93 on Centos 7
    yep, was fixed here but we're waiting for rc94, what was happening is there's a new pipe processing permissions and at a certain point it'll deadlock, causing docker to inspect to fail, causing PLEG timeouts. Containers launched with no new perms will start to fail at a certain point too, the tipping point is different depending on the environment.
  • Kubernetes vs Docker: Understanding Containers in 2021 | 2021-04-19
    A runtime specification that describes how to unpack and run a container. OCI maintains a reference implementation called runc. Both containerd and CRI-O use runc in the background to spawn containers.
  • Podman: A Daemonless Container Engine | 2021-02-11
  • Crun: Fully featured OCI runtime and C library for running containers | 2021-01-30
    The particular implementation detail I was referring to:

    The distinction I was attempting to make is whether or not C source code is required in your Go project to fully implement a container runtime.

  • Infrastructure Engineering - Diving Deep | 2021-01-14
    Kubernetes supports multiple container runtimes due to its adoption of pod as the basic unit of scheduling. While Docker was one of the runtimes so far, it has been recently deprecated in favor of better standards like CRI removing the shim. The other recognized runtimes would be containerd, or even a low-level runtime like runc. You can read more about how they compare in this post or even this. As they mention, today making a call to Docker engine will make a call to containerd which inturn makes a call to runc. The main difference lies in the fact that every runtime has a different level of abstractions and ultimately the lowest level of the hierarchy is going to be LXC which is based on C or runc which is based on Golang.
  • It's Time to Say Goodbye to Docker | 2020-10-02
    runc is the most popular container runtime created based on OCI container runtime specification. It's used by Docker (through containerd), Podman and CRI-O, so pretty much everything expect for LXD (which uses LXC). There's not much else I can add. It's default for (almost) everything, so even if you ditch Docker after reading this article, you will most likely still use runc.