Today I learned that dev containers are an actual spec. I’d been hearing the term more lately but I thought it was a general term for containers used for local development but it’s actually an open spec for configuring an entire development environment within a container and it’s what you use to configure a github codespace for a repo. But the cool thing is you can use the vscode Dev containers extension and vscode will reopen in a docker container with all the dependencies, extensions, and configuration specified in a devcontainers.json.
For example, if you want to experiment with a new programming language, you can quickly launch one of the sample containers (type “try” from the command palette) and have an environment ready to go (after docker downloads the image).