Docker image configuration

Hi everyone,

(I am sorry if this is a duplicate.)

There is one thing that I cannot get my head around—or, more likely, fail to understand in the documentation: what is the difference in defining a Docker image for a runner versus defining an image in my .gitlab-ci.yml (or even multiple/different images per job in .gitlab-ci.yml)?

Originally I thought that the image defined via .gitlab-ci.yml would be used to choose the appropriate runner (if there are shared runners), but this does not seem to be the case …

Any help is appreciated!