Introduction


Figure 1

diagram showing boxes with hardware resources, applications, and the operating system
An ordinary (unvirtualized) system. The operating system has complete control of the physical hardware resources and is responsible for executing individual applications and allocating those resources to them.

Figure 2

diagram showing boxes with hardware resources, applications, the operating system, and how virtualization shares resources
The physical hardware resources are divided between the host operating system and any virtual machines. The virtual machine manager (VMM) takes care of managing the virtualized resources. Each virtual machine only sees the resources allocated to it.

Figure 3

diagram showing boxes with hardware resources, applications, containers, and the operating system
Containers are self-contained environments that run using the host operating system’s resources. Programs running inside a container only see resources allocated to it via the container manager. For example, from the point of view of the host system, App1’s files live in a normal directory somewhere in the file system. From App1’s perspective, the only directories that it can directly access on the host are controlled by the container manager.

Virtual machines using VirtualBox


Figure 1

Blue Carpentries hex person logo with no text.
You belong in The Carpentries!

Basics of Containers with Docker


Creating Containers with Docker