Docker is an application that enables you to package an application along with all of its dependencies into a single unit (a Docker container) that can be version controlled and deployed in an easy and standardized way.
The Docker home page explains how Docker works and how to install and use it:
Conceptually, Docker containers are similar to lightweight virtual machines, but they have some fundamental architectural differences that make them more lightweight and more efficient, as illustrated by the following Docker and virtual machine comparison diagrams.
The following figure shows a normal virtual machine:
The following figure shows a Docker container:
Docker containers can be published and ...