runc and Friends
Had to dig a bit into Kubernetes’ friends recently. Here’s a TL;DR of what’s missing from the internet today:
runcis the CLI tool for running containers (create/run/delete/manage)dockerusesruncas its runtime.- Kubernetes uses
runcas its runtime throughcri-o(those “unsupported Docker version detected” errors you’ve probably seen.. yeah!) There’s no guarantee thatruncwill remaincri-ocompatible.
cri-ois an interface for container runtimes. Any compatible runtime can be used.runcis one of those others beingrkt(never tested it), Kata containers and I guess many more.containerd- runtime manager created by docker and later contributed to CNCF. It’s the daemon that’s running in the background doing your bidding that you pass throughrunc.