When I started to experiment with docker, I had to run a debian system in a virtual OS as I primarily use windows for my everyday development and if you look at the development setup of our team you'll find a pretty heterogenous landscape with respect to the used OS's or IDE's. So in general, sharing (infrastructure) code for external resources and services is one thing we do to strive against this kind of fragmentation.
Everyone can set up the required system easily and repeatable.