Docker® is an open-source tool used to create, deploy and manage small portable containers.

Containers are similar to virtual machines (VM), but where VMs run an entire operating system inside, the host containers only package the required components. Because of this they are extremely lightweight; they start up in a fraction of the time of a regular VM and waste very little extra resources on top of the main process being run inside them. They are used primarily as a lightweight way to assure that the program will run the same regardless of host platform. Docker can also manage virtual networking between containers, as well as health checks to make sure each container is running properly.