Docker is a Container Management System (CMS) that enables you to separate your application from your infrastructure, which makes it easier to develop, ship, and run your application. It is useful for managing Linux Containers (LXC). This let's you create images, and also perform actions on the containers as well as run commands or operations against containers.
In simple words, Docker provides a platform to package and run your application in an isolated environment called a container, and then ship it across different of software release environments, such as stage, pre-production, production, and so on.
Docker is lightweight in comparison to any Traditional VMs, as depicted in the following image: