Skip to content

Container

An isolated, self-contained package that bundles an application with everything it needs to run.

Containers share the host operating system kernel, making them far lighter than virtual machines. They start almost instantly and are ideal for running many services on a single home server. Docker and Podman are the most common container runtimes.

A container is created from an image — a read-only template that bundles the app and its dependencies — pulled from a registry like Docker Hub. Because the image contains everything the app needs, a container behaves the same on any host, eliminating 'works on my machine' problems. The trade-off versus a virtual machine is isolation: containers share the host kernel, so they're lighter but slightly less isolated than a full VM. For running many self-hosted apps efficiently on one box, that trade-off is almost always worth it; reserve VMs for workloads needing a different OS or stronger separation.

Related articles

Docker

A platform for packaging applications and their dependencies into lightweight, portable containers.

Virtual Machine(VM)

A software-based computer that runs its own operating system on top of physical hardware via a hypervisor.

Hypervisor

Software that creates and manages virtual machines by allocating physical resources between them.