Docker Containerization

Anatomy of Docker

Docker is a containerization engine, which provides blazing fast creation and management of containers. In this article, we will understand what containers are and how they work.

Uday Hiwarale
ITNEXT
Published in
13 min readNov 24, 2018

--

Before you get into the understanding of what Docker really is, I think it’s very important to understand the difference between Virtualization and Containerization, since Docker under-the-hood implements one of these technologies, we will see which one in a moment.

When you want to create a virtual environment for let’s say, code testing purposes, you would create a virtual machine. A virtual machine is nothing but a program that simulates a virtual operating system; with some resources like memory and storage borrowed from the host machine. A perfect example of that would be launching a Ubuntu Virtual Machine on Windows platform using the VirtualBox program. That Ubuntu virtual machine would run inside a window providing Ubuntu Desktop GUI.

(Source: Youtube)

As you can see from the above screenshot, Oracle VM VirtualBox Manager created a Ubuntu Virtual Machine that is running inside a normal window. If you go fullscreen, you will for a while forget that it is actually running inside a window on a Windows host machine.

That sounds all cool but how is that even possible? Ubuntu is designed for Linux kernel and Windows runs on Windows NT kernel. Every operating system is different and designed for a specific kernel. A kernel is what stands between your hardware and operating system and its job is to translate OS instructions into actual hardware commands.

Then how Ubuntu is running on NT kernel? To understand how virtualization works, we need to understand a very important piece of the puzzle, the hypervisor (and some other things).

What is a Hypervisor?

A Hypervisor (also called a virtual machine monitor or VMM) is a software or firmware that manages and allocates different hardware resources of a host machine to guest…

--

--