What is Docker and Why it is so famous these days?
Tags: webdev, devops, docker, tutorial
Published: 2022-03-12 10:58:58

Nowadays it is very important for developers to get started with projects as quickly as possible and do not waste their time worrying about things that the End-User does not have any concern with. The things that can waste the time of a developers are getting the appropriate libraries installed, getting the right database server installed and also getting the right database exploration tool installed. **Docker** is a way that can reduce all these kind of installations for a developer by making everything available at a single place already.
In this small article we would be looking at the basic working of the Docker and some basic things that are being used in the Docker as well.

## But what is Docker?
We can say that Docker is something that helps to centralised the development tools for a developer at a single place so that the developer does not have to look for the specific libraries and the database servers on the internet to get started working on the project. It is a kind of system that takes all the loads of setting the working environment for the developer so that developer can start working on the real problems instead of taking a lot of time setting up the workplace before starting the business and customer centre work.

## How Docker do all the Centralising of Development Tools?
In order to understand how **Docker** works, we have to walk through some basics terminologies that are connected with the **Docker**. These terminologies include Image, Registry, and Docker Hub. Let's walk through these things one by one so that we can understand the purpose of each one.

### Image
Docker is basically a central things and it runs the instances of Images on it, and now Image contains all the information regarding the libraries that are required to run the project related things such as Database Server etc. Image contains some other instructions as well such as which files should be included while exporting the project.


### Registry
Registry is kind of place where different images for different purposes can be found. The main example of the Registry is the **Docker Hub**. In docker hub we can find all the major images so that we can start working on the project straight away.

![Example Registry](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tyfsudhlxn2p948t7s4u.jpg)

# Understanding the Process of Docker
Let's look at the actual process of the working of Docker, so what Docker actually does is that it creates an instance just like virtual machine, and just like other virtual machines you can run multiple instances of different images. So, everything is containerised and no one will interface with each other. In other words, the containerising of the different applications are associated with the Docker.

![Working of Multiple Instances with Docker](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0ea5ezznjo417n6gttq9.jpg)

# One Phase of Application Development
Now while building the application it is also a phase for the developers to make the application docker friendly so this process is also very easy because this will required only one file that will contain some instructions for the docker to run the instance of all the required things.

So, this was the little introduction of the **Docker** and how docker is used in the Project Development so that the time of the developers can be invested in the right place.