DevOps · interactive
Containers vs virtual machines
Both run your app on someone else's hardware. A container shares the host kernel. A virtual machine boots a second operating system.
Press Start both to launch the same app each way, side by side.
Container
stoppedshares the host kernel
1 An image is a stack of file layers, plus a command to run.
Layers here: base files, libraries, your app. No second operating system.
2 3 4 5
In production this takes about a second.
Virtual machine
stoppedboots its own operating system
1 The hypervisor reserves CPU, memory, and a virtual disk.
This is a computer made of software, sitting on the real one.
2 3 4 5
In production this takes tens of seconds to minutes.
In production
Tools and technologies
Containers share one kernel; VMs boot a full guest OS — the tradeoff is the same on any cloud.
Not tied to one language — use these names when you search docs or design a system.
- DockerSoftware
Build and run OCI images with namespaces and cgroups.
Official site ↗ - containerdSoftware
Industry-standard container runtime beneath Kubernetes.
GitHub ↗ - KubernetesPlatform
Orchestrates many containers across nodes.
Official site ↗ - PodmanSoftware
Daemonless containers compatible with Docker images.
GitHub ↗ - KVM / VMware / Hyper-VPlatform
Hypervisors that run full virtual machines.
Official site ↗