Docker isn't used because it helps run unstable programs.
It's used because it combines the entire environment so I know the app runs the same locally as it does when deployed, without needing to install or configure anything on the server.
You just start the image and it runs.