Source: https://seerepo.com/compare/containerd/containerd/vs/opencontainers/runc
Markdown source: https://seerepo.com/compare/containerd/containerd/vs/opencontainers/runc.md
Description: containerd and runc share 3 technologies: containerd, github.com/sirupsen/logrus, and github.com/coreos/go-systemd/v22. Both are written in Go.

# containerd vs runc

containerd and runc share 3 technologies: containerd, github.com/sirupsen/logrus, and github.com/coreos/go-systemd/v22. Both are written in Go.

- [containerd/containerd](https://seerepo.com/r/containerd/containerd): An open and reliable container runtime
- [opencontainers/runc](https://seerepo.com/r/opencontainers/runc): CLI tool for spawning and running containers according to the OCI specification

## What they share and what sets them apart

- In common: containerd, github.com/sirupsen/logrus, github.com/coreos/go-systemd/v22
- Only in containerd: etcd, github.com/containerd/console, Docker, github.com/Microsoft/hcsshim, Prometheus, OpenTelemetry, go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc, github.com/containerd/log/otel, go.opentelemetry.io/otel/trace, github.com/prometheus/client_model, go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp, go.opentelemetry.io/otel/exporters/otlp/otlptrace, go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc, go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp, go.opentelemetry.io/otel/sdk, k8s.io/klog/v2
- Only in runc: github.com/checkpoint-restore/go-criu/v8

## Side by side

| | containerd | runc |
|---|---|---|
| Size | 243,778 lines written, 914 code files | 32,216 lines written, 128 code files |
| Who writes it | 0.3% of its commits signed by AI. With Claude Code, Gemini CLI, Codex, Cursor, and GitHub Copilot | 0.4% of its commits signed by AI. With Claude Code |
| Activity | Last push November 5, 2026, 10,297 commits, 21,461 stars | Last push November 9, 2026, 5,225 commits, 13,543 stars |
| Tests | 394 test files. 54.7% of its code files have a test that imports them | 51 test files. 43% of its code files have a test that imports them |

- Size: Lines written by people and agents, without generated ones; code files, without tests.
- Who writes it: A commit counts as AI's when it carries its signature: a Co-Authored-By line, its author name or the merge of its branch.
- Activity: From GitHub and its history, on the day SeeRepo read it.
- Tests: The files that test the code, and the share of code files a test imports.

## Frequently asked questions

### Which is bigger, containerd or runc?

containerd, with 243,778 lines written; runc has 32,216.

The proof: [containerd/containerd's code at commit 79e2374](https://github.com/containerd/containerd/tree/79e23749d4840f5f12d7b4fc54147479f2254f96)

### Which has more GitHub stars, containerd or runc?

containerd, with 21,461 stars; runc has 13,543.

The proof: [containerd/containerd on GitHub](https://github.com/containerd/containerd)

### Which has more tests, containerd or runc?

containerd, with 394 test files; runc has 51.

The proof: [containerd/containerd's code at commit 79e2374](https://github.com/containerd/containerd/tree/79e23749d4840f5f12d7b4fc54147479f2254f96)

### Which was updated more recently, containerd or runc?

runc: its last push was on November 9, 2026, and containerd's on November 5, 2026.

The proof: [opencontainers/runc's commits on GitHub](https://github.com/opencontainers/runc/commits)

### Which has more commits signed by AI, containerd or runc?

runc: an AI signed 0.4% of its commits, with Claude Code; in containerd, 0.3%.

The proof: [the commits each tool signed in opencontainers/runc](https://seerepo.com/r/opencontainers/runc/ai)

## Sources

- containerd/containerd: Read on November 5, 2026, at commit 79e2374 (https://github.com/containerd/containerd/tree/79e23749d4840f5f12d7b4fc54147479f2254f96)
- opencontainers/runc: Read on November 10, 2026, at commit 817ee95 (https://github.com/opencontainers/runc/tree/817ee95c66f78831b8f57c7bc3185c230240f648)

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
