Reproducible work environments using Docker