What is Docker


In this article, we will discuss about Docker, is an open-source lightweight virtualization tool which runs at top of Operating System level, allowing users to create, run and deploy applications, encapsulated into small containers.


Consider a scenario that a code work on the developer system ,but that same code does not work on the testing environment. Docker resolves this issue that a code working on one system and does not working on other platform. Docker comes in the deployment stage. It helps in the deployment of application.

Docker is the world's leading software container platform. Docker is a tool designed to make it easier deploy and run application with container and container allows a developer to package that application with all of its dependencies in to a box and ship the entire package. A developer will concern only developing a code and fill package with all the dependencies in to a container and will not worry about how it will be deployed and what all platforms it has to be deployed and so on.


A developer will define all dependencies and libraries in a file called docker file can be used to create docker image. In a docker image you will have all the dependencies and requirements of an application, when you run a docker image you get a docker container. Docker containers are run time instances of a docker image. These images are also be stored in online cloud repository called as docker hub. You can also store docker images on your local repository.


Using Hypervisor we can create multiple Virtual Machines in a host Operating System . We have to allocate a fixed memory and CPU, This will waste our resources. In case of docker container, the memory, space and other resources are not fixed,  It will be taken as per the needs of application. It is lightweight and fast.


Docker has a client server architecture. In docker command interface is the client and we have a docker server which will have all the containers. Docker server receives command from client in the form of a commands or REST API request


  • Resolves the issue of code working on one system and not working on other system.
  • You can build your application on only once and there is no need to build and configure it multiple times on different environments or platforms.
  • Our applications can work in multiple environment with docker container.
  • Portability.
  • You can do version controlling on docker images.
  • Isolation: Your application does not interfere any other applications in your host machine.
  • Docker makes deployment very easy,efficient and faster.

No comments:

Powered by Blogger.