Docker is a software which provides centralized platform to execute your application. It wraps software components into a complete standardized unit which contains everything require to run. Whether it is code, runtime environment, tools or libraries. It guarantees that the software will always run as expected.
Docker provides the facility to run an application in a isolated environment which is called container. You can run many containers simultaneously on a given host. It is lightweight, so starts instantly and uses less RAM. It is secure by default because each container is isolated from one another.
Note - Docker container is not any specific platform. It can run on any computer, on any infrastructure and in any cloud.
It is a client server application that contains the following major components.