Question: Standard way to freeze Flutter + Android tooling across OS changes (Docker)?

I frequently change Linux distros, and every time my Flutter + Android setup breaks (Flutter SDK, Android SDK, Gradle, Java, IntelliJ/VS Code config).

I’m planning to use Docker + Dev Containers to freeze the entire toolchain (Flutter SDK, Android SDK, Java 17, Gradle), while running the Android emulator on the host and connecting via ADB.
VS Code via Dev Containers, IntelliJ via Docker-based SDK paths.

Goal: one-command setup, no SDKs on host.

Is this a good long-term approach, and can someone help validate or guide the correct setup?