Introduction to Dockers

In the recent years containers gain lot of popularity. Specially, with the usage of micro services architecture. Almost every organization is using containers or planning to use containers. Moving to cloud, containers is good option. Within minutes you can push your application to cloud and get billed only for the resources you’re using.

Docker is one of the most famous platform for running application in containers. Docker very rapidly gain popularity among developers and in IT industry. I started a series on Dockers, where I am going to teach Dockers from zero to expert level. I will use practical examples so that you can get better understanding on dockers. So let’s get started.

Virtual Machines

Before we go into detail about containers. Let’s understand VMs. How they work and then it will be easy to understand the difference between containers and VMs. VMs are guest operating system running on host operating system. VMs encapsulate code, configuration files and dependencies necessary to execute the application. VMs are managed through hypervisor. Hypervisors provides virtualization of infrastructure which consist of physical servers. As you can see in the below picture. Hypervisor enables multiple VMs running multiple applications at the same time. However there is a drawback of this process, application A, B & C are using same OS. And duplication of OS is costly. OS consume lot of memory or resources.

Virtual Machines
Virtual Machines

Containers

Containers are define as lightweight package of application code, libraries and dependencies to run the application in any environment. As a result, containers virtualize the operating system and run on different machines, from one data centre to another or on cloud. Containers are lightweight, they encapsulate only application code and required dependencies, however containers are able to access OS file system, resources and packages.

Containers
Containers

Containers consume less memory resources, as you can see in the above image. On top of host OS a container management tool is running. This container management tool is responsible for creation and execution of containers. There are multiple application running in multiple containers. They are isolated from each others. And as compared to VMs, containers as mentioned before consume less memory and very light weight.

There are many container management tools available, but Docker is one of the most popular. Docker has set industry standards for many years. Docker is available for Mac OS, Linux and Windows. You can download Docker Desktop for development. Also Docker playground is also available. You can play and delete the instances. In the next part of this tutorial, I will go through in detail about dockers, how to create images and how to push images on docker hub. There will be lot exciting stuff going to come for this tutorial.

Leave a Reply

Your email address will not be published.

*