Install Puppet Server on Docker

Deploying a Puppet infrastructure on Docker has many advantages, including portability.
Unfortunately there are not a lot of articles explaining how this is done, so hopefully this can serve as a good starter. This article was inspired from Puppet Labs Docker project.