Docker exec runner no longer running concurreny jobs

Problem to solve

Run multiple, concurrent jobs using a self hosted, Docker executor runner.

We have a Gitlab runner that is configured as a Docker executor, and it has been in use for years, but just lately it seems to only run 1 job at a time, despite being configured with concurrent = 4, and no limit in the runner config.

Steps to reproduce

Set up a Gitlab runner with the config below.

Configuration

Here is the config we have…

concurrent = 4
check_interval = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "Our Runner 01"
  url = "https://gitlab.com"
  id = ******
  token = "*****"
  token_obtained_at = 2022-10-03T13:35:51Z
  token_expires_at = 0001-01-01T00:00:00Z
  executor = "docker"
  [runners.custom_build_dir]
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]
    [runners.cache.azure]
  [runners.docker]
    tls_verify = false
    image = "docker:git"
    privileged = true
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/certs/client", "/cache"]
    shm_size = 0

Versions

Please select whether options apply, and add the version information.

  • Self-managed
  • GitLab.com SaaS
  • Dedicated
  • Self-hosted Runners

Versions

  • GitLab.com
  • GitLab Runner (probably want’s upgrading!)…
# gitlab-runner --version
Version:      16.9.1
Git revision: 782c6ecb
Git branch:   16-9-stable
GO version:   go1.21.7
Built:        2024-02-28T16:51:21+0000
OS/Arch:      linux/amd64

Hi,

I’d suggest you to first upgrade to GitLab Runner v18 for compatibility reasons. GitLab docs suggests having the same version as the GitLab instance - since you’re using GitLab SaaS, it would be newest 18.2 Runner.