Docker is an open source application deployment solution. It provides a mechanism to wrap all the components required for an application, or other software component, within a single Container. Containers are easily transferable between infrastructure platforms without having to manage dependencies on each platform. Docker makes applications environment agnostic. This provides similar benefits to the virtualization of servers into Virtual Machines, but at the application level in a way that has less of an overhead at the operating system level. The Docker Engine that supports Containers can be run on many different platforms such as Microsoft Azure, Amazon Web Services, Google Cloud Platform, and many others.