Containerisation describes the pattern of bundling and running application in containers. Containers are a way to isolate applications running on a host. A container’s image contains all the dependencies required to run the application. A host can run multiple containers in isolation.
Containers differ to virtual machines. Virtual machines use a hypervisor and must also run a guest operating system along with each application.
Containers are lighter and have less footprint than virtual machines as they reuse the host’s kernel. In unix terms, it might be useful to think of containers as a group of processes running in a chroot jail.
Docker is one type of container runtime.