Before discuss about docker we need to know about past.
In past we only run one application on one server. If we needed to run another application, we needed another server for that application.
At that time the open-systems world of Linux and Windows did not have the resources to safely run multiple applications on the single server.
Its means every time if business need for new application, so the IT should need to buy a new server and most of the time nobody knows performance requirements of the new application.
- Hard to manage server: In large infrastructure require large team to manage servers.
- Resources wastage: No source to measure the server specs requirement for the application which produce resource wastage.
- Costly: Each application require separate own server, need backup server for smooth service and large team which increase the cost of the infrastructure.
Before we move further we need to know about Hypervisor.
A hypervisor is also known as virtual machine manager (VMM).It is a hardware virtualization technique that allows multiple guest operating system to run on a single host system at same time.The guest operating system shares the hardware of the host computer and each operating system appears to have its own processor, memory and other available hardware resources.
- Vmware is a most popular and renowned company that was established in 1998 provides multiple application for virtualization.
- Vmware lunched its first product in 1999 which called Vmware Workstation.
- Vmware Workstation is a hypervisor that run on Linux and windows both operating systems.
- Key features of virtualization:
- Licensing cost of every host operation system.
- Operating system consumes many resources.
- Compromise of virtualized host will affect guest machines.
- Much better than old one.
- Reduces energy cost.
- Multiple application can run on a single server.
- Different operating system on a single server.
- System resources divided between virtual machines.
Container is a software which give solution to the problem. That package the code and all its dependencies therefore the application runs faster and smooth from one computing environment to another one. Environment could be a developer’s PC to test environment, from a staging environment into production, and may be from a physical machine in a data center to a virtual machine in a public or private cloud.
Key Differences From VMware:
- Container need only one operating system which do all things.
- No need of multiple guest operating system.
- Container are lightweight and smooth as compare to VMware.
- All container on a single host share one operating system.
- It also decrease licensing costs and reduces other maintenance.
- This frees up very big amounts of system resources like CPU, RAM, and ROM.
- It decide by itself and share hardware resources with applications in controlled amount.
What is Docker?
Docker is an open-source software platform (tool) which use for developing, shipping and running application. It manages containers, container base application and provides workstation service. Docker allow you to separate your applications from your infrastructure so you can provide software faster, with the help of docker you can manage your infrastructure in the same ways you manage your applications. Docker originally developed for Linux operating system. But now it works on windows and Mac operating systems.
When most technologists talk about Docker, they are referring to the Docker Engine.Docker Engine is the core container run time that runs containers.using docker components and services. Docker engine use all other and 3rd party products and plugins.
When we talk about container ecosystem.Docker inc is often referred to as Batteries included but removable. This is a way of saying you can change out a lot of the native Docker stuff and replace it with stuff from 3rd-parties.
We discussed the issues which we faced in past and how VMware comes and resolve past issues. How container comes, provide a better functionality and performance as compared to VMware and after this we discussed the Docker.