How docker changed the virtualization technology?

Virtualization means to install Guest operating system over the Host operating system with help of different tools like Virtualbox or VMware or KVM or Ovirt etc. With help of these tools, we can install any Operating system over another Operating system and start work on that whether we can use those as other Nodes for the practice of DevOps tools or other work.

Let’s take a look at how Cloud companies are providing the Virtual machines, These companies install the number of virtual machines on Host OS. But the question is how these virtual machines are separated from each other in terms of VCPUs, RAM or other hardware resources etc. it means each machine has how many CPUs or how much RAM it has. For that, Hypervisor introduced, Hypervisor is a virtualization technique, computer software, firmware that creates and runs virtual machines. It is a kind of virtual machine monitor. Its main job is to cater to the needs of the guest operating systems and effectively manage in such a way so instances of multiple operating systems do not interrupt one another.

But if we look in another way, let’s assume that we have requirements to run different web apps on different platforms for that we need to create different virtual machines with different hardware resources like CPUs, RAM for different VMS etc & we need to install different libraries, packages for those. But wherever it will gonna cost us in terms of virtual machines, Hardware resources.

On the other hand, Docker made this easy. Docker is a container/virtual technology for Linux that allows a developer to package an application with all of the parts it needs. It performs operating-system-level virtualization. We can run different web apps through Docker.

Now the question is how we install our web apps and how they will be separated from each other in terms of resources?

The answer is containers. Docker runs software packages called containers. Containers are isolated like Shipping containers. These are virtualized abstract objects. They separate the packages, libraries, tools and configurations files. They also communicate with each other through the well-defined channels. Containers are lightweight because they share the machine’s OS system kernel and therefore do not require an OS per application, driving higher server efficiencies and reducing server and licensing costs. Because of lightweight containers, we can run a thousand of containers in the single hosted machine.

Now the question is how containers create: For containers, we need to create images of apps packages lets say if we need containers of one WordPress web application for that we need to create the following images

Mysql

WordPress

And we will link both containers with help of Docker compose.

If you are looking for Docker for DevOps training, please visit below link: