Docker is a set of platform as a service (PaaS) products that uses OS-level virtualization to deliver software in packages called containers.
All containers are run by a single operating-system kernel and are thus more lightweight than virtual machines.
Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels.