What is Docker Conatiner

A container is a standard unit to package software. Containers were a product to answer the complex business problems and the application you run those complex business applications. To facilitate the one app and server application infrastructure. Lastly to avoid the expensive cost of the hard and maintained.

conventionally we were using VM to run multiple apps on one server. So image a scenario where you have an application that is divided into three tiers.

Backend application, frontend application, database.

In a conventional VM ware case You can run multiple apps on one server by using this scenario

what is container1

Now in this scenario you can that we have hypervisor is installed which is managing all the VMs each VM will have its OS to maintain and on top of those OS the app is installed we can have one backend application on one VM, one front application on the other VM and lastly the database on the last VM.

In this case you have to manage all the OS on our own, we have to worry about the patches and all the os related problem. We also have to maintain all the licenses for the OS as well which will be expensive. The scaling is not fast either in this use case as we have to kick a new VM image a new OS and then we have to start the scalable application.

In case of containers  we will have something like this

what is conatiner2

Now in this scenario we have the server on top of that we only have one OS and the container are running on top of that. The container is a image of the application director to run on the a specific OS. The upside it manageable number of licenses. In this case the scaling is quite fast as we don’t have to start a new VM image a new OS and run the app instead we just need to spin up a new container and that’s it.