-
What version are you on? Are you using self-managed or GitLab.com?
- GitLab: 15.7.7
- Runner: 15.11.0. Self-managed.
-
What are you seeing, and how does that differ from what you expect to see?
I am trying to set up a server to host multiple runners for my team’s GitLab projects. I’ve followed the guide so I took these steps:
docker volume create gitlab-runner-config
docker run -d --name projectA --restart always -v /var/run/docker.sock:/var/run/docker.sock -v gitlab-runner-config:/etc/gitlab-runner gitlab/gitlab-runner:latest
docker exec -it projectA gitlab-runner register
Like that, it works completely fine, but I want to add multiple containers so that each one of them hosts the runner for one of the projects. So I run the same command again, with a different name:
docker run -d --name projectB --restart always -v /var/run/docker.sock:/var/run/docker.sock -v gitlab-runner-config:/etc/gitlab-runner gitlab/gitlab-runner:latest
docker exec -it projectB gitlab-runner register
As they share the same volume, they share the config.toml file. If I run gitlab-runner list in one of the containers, both runners are shown.
After creating the second container, it stopped working, this is the error:
I tried creating a different docker volume but it doesn’t work either. I guess by the error that it has something to do with both runners sharing /var/run/docker.sock.
I’ve searched the forum and the only similar thing I’ve found is this. Following that I believe we can solve the problem using only one gitlab-runner in a container, and registering all of the runners in that one. But that’s not the solution we are seeking, we want the runners to be independent. Is there a way of solving this error mantaining the structure of a volume containing several containers, one for each runner?
Thank you!