Containers

From the Docker website :

A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.

Docker made the use of Linux containers easy, and bootstrap the Open Container Initiative to ensure we have standards.

Runtimes

There is a bunch of runtimes:

Specs