Docker is a tool that allows developers, system administrators, and other professionals to deploy their applications in containers. Docker’s key advantage is that it allows users to package an application with all its dependencies into a standardized module for development. Unlike virtual machines, containers do not add such additional load, so they can use the system and resources more efficiently.
Containers provide a level of isolation similar to virtual machines, but due to the correct use of the low-level mechanisms of the main operating system, they do it with much less load. Because Docker containers are lightweight, a single server or virtual machine can run several containers simultaneously.
The main features of Docker:
All containers are standard, so you can port them on any platform.
Containers share the machine’s OS system kernel and therefore do not require an OS per application, driving higher server efficiencies and reducing server and licensing costs.
Containers are the most secure place for your application.”