You keep hearing about it, but you don't really know what it is and why we use it.
Let's say that you have a big house that you bought, and you want to rent this out to multiple tenants.
The house has no walls in it and all the tenants are therefore living in one big room.
This house represents the server.
Obviously, each tenant has their own taste for furniture.
Tenant 1 might want classical furniture. Tenant 2 might want modern furniture.
If they were all in one big room, tenants are going to clash. That looks awful and they would get into arguments!
So what do you do?
Exactly! You build separate rooms for each tenant.
They will all have their own isolated environment which they can fully furnish however they want, without having to worry about other tenants.
Happy tenants and happy house!
Docker is a tool designed to make it easier to create, deploy, and run applications by using containers.
Containers are isolated from one another and bundle their own software, libraries, and configuration files.
These containers represent the rooms in our analogy.
Docker allows you to host completely different applications (tenants) in separate containers (rooms) on one server (house).
~ Siddhant Khare