I'm maybe a bit of an edge-case here, but I use Docker to provide a CentOS 7 compatible development and run-time environment for a CUDA-based visualization app.
There are several benefits to this:
* The Dockerfile describes my development environment,
* I can replicate this environment just by setting up Docker and copying a few files,
* I can run my development/run-time environment on *fast* AMD Ryzen 9 hardware that causes a real CentOS 7 kernel to panic at boot.
For me, in practical terms, I can do a build in 6 minutes versus 25, when compared with my work laptop (2019 Razer Blade 15)