What is Container or Container-based Virtualization?

A container is isolated but share OS with related apps, bins and libraries. Container or Container-based Virtualization is promoted by the company called Docker Inc. In this blog, we will explore Container in details. Let's understand what is container or containerization or Container-based Virtualization.

What is Container or Container-based virtualization?

A container is a way to virtualize operating system where you can deploy and run your application before moving to a real-time environment. It is an OS-level virtualization for deploying and running distributed applications.

You may understand a container with below statement.

If you are going to deploy your application in an environment lets' say Production. You want to be very much sure about the successful deployment of your application. In this case, you may have an option to create a replica of that production VM/Server to deploy and test the application.

But, creating a new VM/Server is not an easy task. It requires you more manpower to create and configure, it may cost you extra in context of money.

What if, if you have an option to create a small computing system which will be a replica of that production environment. It does not require you any extra cost. You will happily go for this option. This concept is called container-based virtualization.

Earlier i.e. few years ago in IT industry -

  • Applications were monolithic
  • Deployment on single server
  • Single technology stack like .net, java or php 
But today, multiple apps are coming everyday, new versions are being launched frequently, no single tech stack (a single application can have more than one technologies or programming languages), deployment on multiple servers.

Why Container-based Virtualization?

Container makes your application portable, it looks same everywhere. Containers contain all the dependent files like binaries, libraries and other file systems, so no worry about the portability.

Benefits of Docker Container

  • Isolation
  • Easy and fast deployment
  • Low risk of failing in production
  • Frequent App version release

Container Architecture

container architecture

What is Docker?

Docker is a open source which developed a process to give containers better portability. Docker is the most popular container software. It allows you to move among any systems which shares the host OS and this can be done without changing a single line of code. Remember, Docker platform is for developer as well as system admins.

Docker platform gives you privilege to test, deploy your code into production environment as quick as possible.

How Docker Container Works?

Docker container uses a Docker Engine. It is a software to run Docker images which were created. Machine running a docker server is called Docker host.

How Docker container is different from Virtual Machines?

In Virtual Machines, multiple guest OS can run on a single host OS. All the guest OS runs independently and are similar to a host machines also guest OS takes time to boot. Every guest OS has their own binaries like a normal machine.

Using Docker engine we can create multiple containers on a single Host machine. In container we don't need to wait for boot unlike VMs. Containers are light-weight and faster compare to VMs.

vm vs containers

Hope you like this post. I will continue writing my blogs on Cloud Computing, MicroService, Docker Containers, Dot Net Core and SharePoint.

You may read some popular blogs on SharePointCafe.Net



SharePoint Interview Questions and Answers

Calling ASP.Net WebMethod using jQuery AJAX

What is Cloud Computing - A guide for beginners

How to Crop and Upload image using JQuery