You don't understand the feature. Devcontainers can use any plain old dockerfile or docker compose file, it's literally part of the spec.
You can do exactly what you're saying--have a dockerfile as the source of truth--right now. And you can install the devcontainer CLI and use it outside vs code if necessary too: https://code.visualstudio.com/docs/devcontainers/devcontaine...