Lembro que quando registramos o runner (via comando 'gitlab-runner register' no container) informamos uma imagem padrão na etapa "Please enter the default Docker image (e.g. ruby:2.6):". Nesta etapa, analogamente ao professor, eu informei a imagem que criamos no curso (bene20/minha-imagem:latest).
Porque foi necessário, então, informar a imagem novamente no job "teste-project" do arquivo .gitlab-ci.yml? Ele não deveria assumir aquela imagem como a a ser utilizada quando nõ informado? Afinal, para que serve definir a imagem padrão então?