Introduction


Figure 1

diagram showing boxes with hardware resources, applications, and the operating system
A conceptual representation of an ordinary computer system. The operating system oversees the physical hardware resources and is responsible for executing individual applications and allocating those resources to them.

Figure 2

Normally, computers run a single operating system with a single set of applications. Sometimes (for reasons we’ll discuss soon), people might want to run a totally separate operating system with a different set of applications. One way to do that is to split up the physical resources like CPU, RAM, etc. and present them to that second operating system for its exclusive use. The concept of splitting up these resources (i.e., virtualizing them) so that only this second operating system can access them is the idea behind a virtual machine. diagram showing boxes with hardware resources, applications, the operating system, and how virtualization shares resources


Figure 3

diagram showing boxes with hardware resources, applications, containers, and the operating system
Containers are environments that encapsulate applications and their dependencies. Applications running inside a container are functionally isolated from the host. The container manager runs containers and determines what each container can “see” outside of itself.

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