A snapshot of everything an app needs to run — the code, its dependencies, and a slimmed-down operating system — packaged into one reusable file. It doesn't run on its own; you spin up running containers from it, as many as you like.