Docker is a tool that allows developers to specify their infrastructure as code
Since the infrastructre components can be specified as code, the infrastructure that supports the applications being developed can reap the benefits from other tools like git for version control.
Developing with docker contianers helps to prevent the "works on my machine" problem by allowing nearly every aspect of "my machine" to be locked down and shared unambiguously. The production environment runs the same OS with the same networking configuration with all of the same tools and packages installed as the developers writing the code use on their machines.
This application is intended to be a brief introduction into some fo the kinds of things you can do with docker. It was thrown together hastily in a single evening, so don't judge it too harshly :D