I'm looking for a solution that allows to provide the predefined environments for developer work. Each environment should contain preinstalled 3rd party applications - most of them are GUI applications (like IDEs and similar tools). Example scenario:
- I initially have Win10Pro on my desktop;
- I would like to start with project for STM32 embedded software, so I need the environment/toolchain containing some tools for this (like STM32 Finder, STM32CubeMx, STM32CubeIDE, STM32CubeProgrammer and other tools related to STM32 MCUs);
- Then, I need to start with another project, for example dedicated for Microchip MCU, so I need other environment/toolchain, containing different tools (like MPLAB X IDE, MPLAB XC Compiler, Ensemble Graphics Toolkit and other tools related to Microchip MCUs);
- Then, I need to start with ESP32 project, and need other, completely different toolchain.
So far I have had all these toolsets installed on my PC, but it is not the best solution, because:
- each toolset requires significant space on disk;
- sometimes the specific toolchains requires different versions of the same library or there are other kinds of software conflicts;
- if you need to reinstall/rebuild all environments/toolchains (for example after disk crash - I experienced this recently), reinstallation and configuration takes up to several days :(
So I've an idea to have each environment/toolchain dockerized in separate image, and use selected image (Docker Desktop?) to fast set-up the environment/toolchain on regular Win10Pro.
I was also thinking of an alternative solution based on separate Virtual Machines, containing full Windows OS installation and the specific environment/toolchain, but his solution requires really much disk space (each VM contains full OS + specific tools) and the OS licensing model is not clear here (multiple copies of OS probably requires separate licenses).
Unfortunatelly, I'm not well familiar with Docker :( I read many guides, articles etc. on the web, and found solutions for providing own applications, or third party applications too - but, as I understand, each solution requires that each such application have to have possibility of unattended build and/or installation (this is required for docker image building process). Unfortunatelly, most installers of 3rd party application doesn't support unattended installation.
So the best solution seems to be to create an image that contains the differences between fresh Win10Pro and the Win10Pro containing fully installed and configured tools. Unfortunatelly, I can't find any guide how to do it. Is it possible at all? If so, can you guide me somehow on how to do this?