Docker is a set of platform using virtualization to deliver software in packages called containers. 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. Difference from a virtual machine is, they can reach to resources from the host machine and they can be orchestrated in harmony.