Docker vs Podman vs Containerd - Container Runtimes
Interviewers bring this up because container runtime confusion is everywhere. A lot of engineers say "Docker" when they mean "container" and never think about what's actually running underneath, which is exactly the gap this question is designed to expose.
The answer interviewers want
These three sit at different layers, not on a single spectrum of "better" to "worse."
Docker is the full platform: a daemon, an API, and a CLI on top. It's convenient because it bundles everything you need for building, running, and managing containers in one tool.
Podman runs daemonless and rootless. There's no long-running background process owning your containers, and it doesn't require root privileges to operate. That changes the security posture significantly, especially in shared or regulated environments.
containerd is just the runtime. No daemon-level conveniences, no bells and whistles. It does one job: run containers. That's exactly why Kubernetes uses it as a CRI implementation.
Match the tool to the use case:
Dockerfor development and simple deployments, where the batteries-included experience is worth the daemon.Podmanfor security-first environments, where rootless and daemonless matter more than convenience.containerdwhen Kubernetes is already managing everything, since it's the layer Kubernetes talks to directly.
The detail most people miss: Podman can run Docker Compose files without Docker installed at all. That's a genuine advantage for rootless CI/CD pipelines, where you want Compose-style workflows but can't or won't run a privileged daemon.
Why interviewers ask this
They want to know if you understand what's actually running your containers versus what tool you're used to typing. Anyone can run docker build and docker run, but knowing why Kubernetes doesn't use Docker directly, or why a security team would mandate Podman, shows you understand the architecture rather than just the commands.
Follow-ups to expect
Why does rootless matter for security? Because a compromised rootless container process doesn't automatically give an attacker root on the host, which is a real risk with a root-owned daemon model.
Why doesn't Kubernetes use Docker directly anymore? Kubernetes talks to the container runtime through the CRI, and containerd implements that interface directly without the extra daemon layer Docker adds.
Would you standardize a whole org on Podman instead of Docker? It depends on the use case: security-first or rootless CI/CD environments benefit from Podman, but teams doing everyday development may prefer Docker's all-in-one convenience.
The common wrong answer
Candidates usually describe Docker, Podman, and containerd as if they're interchangeable competitors fighting for the same job, and then pick one based on popularity. The wrong answer treats this as a brand preference instead of recognizing that containerd is a low-level runtime, Docker is a full platform built on top of that kind of runtime, and Podman is a daemonless, rootless alternative aimed at a different security model entirely.
Prefer it spoken? Watch the 30-second answer on YouTube