There have probably been more than one time in your development career where you've spent a few hours troubleshooting an issue only to find out it was a dependency or versions issue right?
Environments varying from one to next, outdated components and setting up development machines are frustrations we can all do without.
Some of these issues we've solved with VMs, but managing the entire machine and under utilizing them for each enviroment is costly. This is where containers have come to solve many challenges.