Most "it worked on my laptop" problems get caught somewhere between commit and push to production. What docker helps with is catching them "early" rather than "later". Because a failed push emergency push with reason "Doesn't work in production environment" as a reason is a really stressful way to work.
Catching it before pushing your changes is far more preferable.
There are a lot of different methods and processes to fix this. Docker is a new one that simplifies a number of the pieces of the puzzle by constraining the environment is useful ways.
However, if you already have a process worked out and aren't experiencing pain then you probably don't need to switch for the sake of switching.