So taking from the comments, the image is shown at start of build and for the curious around gitlab.com shared runners there's details on gitlab site for the saas_runners

For linux shared runners the default image at time of writing is ruby:3.1

For on premise (own runners), the default image is specified at time of registering the runner.

Answer from Tensibai on Stack Overflow
🌐
GitLab
docs.gitlab.com › gitlab docs › administer › administer gitlab runner › runner executors › docker
Docker executor | GitLab Docs
Choose your helper image based on your shell requirements. The servercore image is the default and supports both PowerShell and Pwsh. For containers that only use pwsh, use the lighter nanoserver image. You can use services by enabling a network for each job.
Discussions

GitLab Runner in Docker
I’d suggest setting up your runners using the docker executor - https://docs.gitlab.com/runner/executors/docker.html This allows your runner to start up fresh containers for jobs with the image you specify, meaning jobs aren’t running on the host and can have whatever you need. You can then also use a single runner with parallelism instead of multiple runners. Downside is that if you need to install extras they will need to install as part of the CI on every job. More on reddit.com
🌐 r/gitlab
6
3
August 31, 2023
What is the difference between default:image and image?
I had a look at basic pipelines as they are described in the documentation. The example uses the image keyword at the top level to set the default image. image: alpine However, in the .gitlab-ci.yml keyword reference, the following is used to set the default image. default: image: ruby:3.0 ... More on forum.gitlab.com
🌐 forum.gitlab.com
3
0
May 3, 2023
How does Docker executor inside a Gitlab Runner running as a container works

Yes it is D-in-D!

A recent issue I ran into is that volumes don’t work the way I expected on my runner. You have to use a volumes-from syntax for that purpose.

More on reddit.com
🌐 r/gitlab
6
5
October 8, 2019
Building Docker image in CI/CD with shared runners.

I think you are missing some DOCKER environment variables. Check out mine, it works. [i copied it from someone else]

https://gitlab.com/magic7s/k8s-hybrid-cloud/blob/master/.gitlab-ci.yml#L58

More on reddit.com
🌐 r/gitlab
5
5
March 26, 2019
🌐
GitLab
docs.gitlab.com › gitlab docs › install › install gitlab runner › docker
Run GitLab Runner in a container | GitLab Docs
These multi-platform Docker images are available: gitlab/gitlab-runner:latest based on Ubuntu, approximately 470 MB.
🌐
Docker Hub
hub.docker.com › r › gitlab › gitlab-runner
gitlab/gitlab-runner - Docker Image
gitlab/gitlab-runner:latest is image that can be used to run GitLab Runner in container.
🌐
GitLab
docs.gitlab.com › gitlab docs › use gitlab › use ci/cd to build your application › jobs › docker › run ci/cd jobs in docker containers
Run your CI/CD jobs in Docker containers | GitLab Docs
The registered runner uses the ruby:2.6 Docker image and runs two services, postgres:latest and mysql:latest, both of which are accessible during the build process. The image keyword is the name of the Docker image the Docker executor uses to run CI/CD jobs. By default, the executor pulls images ...
🌐
Medium
medium.com › @BuildWithLal › dockerized-gitlab-ci-register-docker-executor-as-a-gitlab-runner-71799352c9ac
Dockerized GitLab CI: Register Docker Executor as a GitLab Runner | by Lal Zada | Medium
October 10, 2024 - Job is executed by the Docker runner by overriding the default docker image to docker:24.0.5 for utilizing the docker CLI. If you check all these details from docker info command, the docker server details are coming from my host machine where i have my actual docker engine installed. The reason we used docker image inside the gitlab-ci.yml file is to have docker CLI available.
🌐
GitLab
gitlab.com › gitlab.org › gitlab-runner › #1577
default docker image for executor (#1577) · Issues · GitLab.org / gitlab-runner · GitLab
Hi there, I am creating my first CI/CD pipelines and I currently have a really simple one. Locally I have installed a gitlab runner docker executor. In my .gitlab-ci.yml I have no image tag configured, so, I am wondering which image is taking by default (of course I can choose any).
Find elsewhere
🌐
Reddit
reddit.com › r/gitlab › gitlab runner in docker
r/gitlab on Reddit: GitLab Runner in Docker
August 31, 2023 -

Hi all,

We recently moved to GitLab, and I am tasked with setting up the testing stuff for our pipeline.

We had gitlab runners recently installed on our server, but I am running into some problems. I’m new to all this, so while reading documentation has been helpful, I’m still unsure on a lot of things.

The Gitlab-Runner is installed and registered on 3 separate docker containers in the server (so 3 runners total)

The docker containers use the official docker alpine gitlab runner image

The Gitlab-Runner is in shell executor mode

When I run my script through gitlab-ci, I am getting command not found for sudo, apt, node, npm, docker, etc.

From what i can tell, that’s because the runner is running the CI script directly in the docker container from the official images, which do not have any of these installed.

So even if I switch from shell executor to docker executor, this would not work since the official runner image doesn’t have docker installed correct?

Is the correct path here to start docker containers with gitlab runners registered in it, but the docker container itself needs to be docker in docker? Is the official gitlab runner alpine image able to run in docker in docker?

🌐
Medium
medium.com › pickme-engineering-blog › setting-up-a-gitlab-runner-using-docker-in-a-virtual-machine-fbf3d90d110e
Setting Up a GitLab Runner Using Docker in a Virtual Machine | by Dilshan Dilip Udara | The PickMe Engineering Blog | Medium
February 11, 2025 - Press enter or click to view image in full size · Run the following command to register the runner: docker run --rm -it \ -v /srv/gitlab-runner/config:/etc/gitlab-runner \ gitlab/gitlab-runner:latest register · GitLab instance URL: (Copy from GitLab settings) Registration token: (Copy from GitLab settings) Runner name: gitlab-runner · Executor: docker · Default Docker image: docker:latest ·
🌐
DEV Community
dev.to › mattdark › configure-your-own-gitlab-runner-4o34
Configure your own GitLab Runner - DEV Community
February 21, 2024 - ... Enter tags for the runner: Tags are comma separated and assign manually to jobs in your CI/CD pipelines. You can edit them later · Enter optional maintenance note for the runner. ... Enter the default Docker image: ruby:2.7.
🌐
GitLab
about.gitlab.com › blog › engineering › setting up gitlab runner for continuous integration
Setting up GitLab Runner For Continuous Integration
March 1, 2016 - ruby:2.1): node:4.2.2 Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded! Notice that there are several executor options available. In this post, we are using the docker executor. Remember from the .gitlab-ci.yml file, our base image is already set as node:4.2.2. Note that the default Docker image specified here will be used only when .gitlab-ci.yml file does not contain an image declaration.
🌐
OneUptime
oneuptime.com › home › blog › how to set up docker with gitlab ci runner
How to Set Up Docker with GitLab CI Runner
January 16, 2026 - services: gitlab-runner: image: gitlab/gitlab-runner:latest restart: always volumes: - ./config:/etc/gitlab-runner - /var/run/docker.sock:/var/run/docker.sock environment: - TZ=UTC · # Register runner interactively gitlab-runner register # You'll be prompted for: # - GitLab instance URL # - Runner authentication token # - Runner description # - Executor type (choose docker) # - Default Docker image
🌐
University of Toronto
microfluidics.utoronto.ca › help › help
Using docker images · Docker · Ci · Help · GitLab
The registered runner uses the ruby:2.6 Docker image and runs two services, postgres:latest and mysql:latest, both of which are accessible during the build process. The image keyword is the name of the Docker image the Docker executor uses to ...
🌐
Datawookie
datawookie.dev › blog › 2021 › 03 › install-gitlab-runner-with-docker
Install GitLab Runner with Docker – datawookie
March 21, 2021 - 📌 If you need to use Docker-in-Docker (for example, to build a Docker image as part of the CI/CD process) then you should also specify the --docker-privileged flag. docker exec -it gitlab-runner gitlab-runner register --docker-privileged ... Specify https://gitlab.com/ as the coordinator URL. Provide the token. Provide a description for the runner. Supply tags for the runner (can leave this blank for the moment). Specify docker as the executor. Specify a default Docker image (for example, rocker/verse:latest) which will be used if an image is not given in .gitlab-ci.yml.
🌐
GitLab
gitlab.lcqb.upmc.fr › help › ci › docker › using_docker_images.md
Using docker images · Docker · Ci · Help · GitLab
The registered runner will use the ruby:2.1 Docker image and will run two services, postgres:latest and mysql:latest, both of which will be accessible during the build process. The image keyword is the name of the Docker image the Docker executor ...
🌐
GitLab
docs.gitlab.com › gitlab docs › use gitlab › use ci/cd to build your application › jobs › docker › use docker to build docker images
Use Docker to build Docker images | GitLab Docs
May 8, 2023 - default: image: docker:24.0.5-cli before_script: - docker info build: stage: build script: - docker build -t my-docker-image . - docker run my-docker-image /script/to/run/tests · For complex Docker-in-Docker setups like Code Quality scanning using CodeClimate, you must match host and container ...
🌐
GitLab
forum.gitlab.com › gitlab ci/cd
What is the difference between default:image and image? - GitLab CI/CD - GitLab Forum
May 3, 2023 - The example uses the image keyword at the top level to set the default image. image: alpine However, in the .gitlab-ci.yml keyword reference, the following is used to set the default image. default: image: ruby:3.0 ...