Creating a local development environment with Docker. An exploration.

Docker is an amazing software platform for deploying applications in a consistent and reliable manner. Anecdotally, there was a clear separation between my "pre-Docker" and "post-Docker" development days. It has enabled me to be confident that the code I produce locally will work in production. However, I've noticed some engineers (and "semi-technical" managers to put it kindly) take this usage to an extreme. They note: "Hey, the only dependency we ever need is Docker. Thus Docker, Visual Studio Code, and a terminal will be the only tools required for development; everything else is wrong" Quite ambitious! Is it possible to consolidate all of one's development into this very small number of tools? Let's take a look at how we can set this up, and take note of the positives and potential drawbacks. Caveats I'm obviously generalizing the points brought up by multiple engineers into one pithy statement -- there's an argument ...