Discovering what's installed in a shared runner

It is possible to have a shared runner hosted by Gitlab build a project hosted by Gitlab. But how can one be sure that the runner has the necessary tools installed? For example, is ‘make’ installed? Is ‘gcc’ installed? Is ‘clang’ installed? Is a MinGW cross-compiler installed, so one can type ./configure --host=i686-w64-mingw32?

I read somewhere that a docker image can be passed to the shared runner, so the runner has all the tools installed in the image at its disposal: how can one do that?