Glossary

Containerization

Containerization packages an application together with its dependencies into an image that runs identically on any machine with a compatible container runtime.

Short answer

What is containerization?

Containerization packages an application together with its dependencies into an image that runs identically on any machine with a compatible container runtime.

Explained two ways

Plain and technical

In plain terms

A container bundles your application with everything it needs to run, so it behaves the same on a laptop as it does in production. It is much lighter than a virtual machine because it shares the host operating system kernel.

Technically

A container image is a layered filesystem plus metadata conforming to the OCI specification. At run time the kernel isolates the process using namespaces and cgroups. Containers share the host kernel, which is why they start in milliseconds and why kernel-level isolation is weaker than a virtual machine boundary.

Example

What it looks like in practice

A Node.js application is built into a multi-stage image: the build stage compiles it, and the final stage contains only the runtime, the compiled output and a non-root user, with no compiler, no package manager and no shell.
Keep going

More definitions

See these concepts in a running system

A 30-minute walkthrough against your own infrastructure rather than a slide about the theory.