A container feels like a small, separate machine, but it is really an ordinary process on the host with a restricted view of the world: its own filesystem, process tree, and network, enforced by operating system features rather than virtualized hardware. Because containers share the host kernel instead of booting a full guest OS, they start in seconds and carry very little overhead.
In ML and data science work, containers are the standard way to make an environment reproducible: the same container image can run an experiment on a laptop, a training job in the cloud, and a model server in production without the dependencies drifting between them.
