Dockerizing a Programming Language
bellmar.medium.com
bellmar.medium.com
In this particular case it looks like the author is reusing the makefiles used from other builds ("you should also be able to build the compiler from source and run it outside of the container") rather than duplicating the work, and she finds makefiles "to be soothing".
Update: If you want to include other "layers", e.g. if the Z3 project provides its own image, then just put their SHA256 in the manifest.json too.
There's your problem! Different versions of anything can coexist if they're installed to separate locations; e.g. Nix does this by using the `--prefix` option of each project's './configure' script.
AFAIK you can't run Windows binaries using Docker, even if you're using Windows, since it's running in a Linux VM; likewise for macOS binaries on macOS, Solaris on Solaris, etc.