Do next steps from docker-compose.yml folder:

  1. Creat

    $ touch ./config/gitlab-runner/config.toml

  2. Edit it with your editor

    $ <your_text_editor> ./config/gitlab-runner/config.toml

  3. Save file

  4. Restart docker instance

    $ docker-compose restart gitlab-runner

Answer from Sergey Bezugliy on Stack Overflow
🌐
GitLab
forum.gitlab.com › gitlab ci/cd
Example GitLab Runner docker compose configuration - GitLab CI/CD - GitLab Forum
March 26, 2022 - After having spent some time the other day to redo my (“standalone”) runner setup, I figured that I would share this for the benefit of the community. .env: RUNNER_NAME=RUNNER-NAME REGISTRATION_TOKEN=TOKEN CI_SERVER_URL=https://gitlab.com/ docker-compose.yml: version: "3.5" services: dind: image: docker:20-dind restart: always privileged: true environment: DOCKER_TLS_CERTDIR: "" command: - --storage-driver=overlay2 runner: restart: always image:...
🌐
DEV Community
dev.to › teetoflame › setting-up-a-gitlab-server-community-edition-and-a-gitlab-runner-using-docker-compose-ob6
Setting Up a GitLab Server (Community Edition) and a GitLab Runner Using Docker Compose - DEV Community
February 20, 2025 - Set up a Docker-based GitLab and a GitLab Runner using Docker Compose to create a CI/CD environment. Services will be defined in the docker-compose.yml file, configuring storage, exposing GitLab on a local port, and registering the GitLab Runner ...
Discussions

implement gitlab and gitlab runner with Docker compose - Stack Overflow
i want to implement CICD with gitlab and i want to do this with docker-compose and i wrote this docker-compose.yml but this isn't work and i cant connect to gitlab web. another way i recive this lo... More on stackoverflow.com
🌐 stackoverflow.com
How to use docker-compose.yml file in GitLab Runner server?
Hello, I would be grateful if someone could clarify something for me. I have two servers: GitLab Server: Repositories GitLab Runner: Runner + Docker On my GitLab server I have created a project with some code. In the root directory of my project, I have placed two files, .gitlab-ci.yml and ... More on forum.gitlab.com
🌐 forum.gitlab.com
0
0
April 22, 2024
Run docker-compose build in .gitlab-ci.yml - Stack Overflow
Docker also provides an official ... docker/compose · This is the ideal solution if you don't want to install it every pipeline. Note that in the latest version of GitLab CI/Docker you will likely need to give privileged access to your GitLab CI Runner and configure/disable TLS. See Use docker-in-docker workflow with Docker ... More on stackoverflow.com
🌐 stackoverflow.com
How to connect a gitlab-runner with a gitlab service via docker-compose?
Describe your question in as much detail as possible: I have the following docker-compose file: version: "3.8" services: gitlab: image: gitlab/gitlab-ce:16.2.3-ce.0 container_name: gitlab hostname: 'gitlab' environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://gitlab' ports: - '80:80' ... More on forum.gitlab.com
🌐 forum.gitlab.com
0
0
August 11, 2023
🌐
GitLab
forum.gitlab.com › gitlab ci/cd
Gitlab Runner can execute jobs with specified docker-compose files in series, but not concurrently (Solved, it totally can) - GitLab CI/CD - GitLab Forum
November 10, 2023 - The question: We’re trying to become more modern with our CI/CD, and as part of that, I’ve recently re-worked the testing for one of our applications to use docker compose; It’s a ruby app with a test suite that takes about 15 minutes to run, and sometimes if Selenium is having a sleepy ...
🌐
GitLab
docs.gitlab.com › runner › install › docker
Run GitLab Runner in a container | GitLab Docs
GITLAB_RUNNER_IMAGE_TYPE=gitlab-runner-helper \ GITLAB_RUNNER_IMAGE_TAG=x86_64-v17.9.1 \ docker build -t $GITLAB_RUNNER_IMAGE_TYPE:$GITLAB_RUNNER_IMAGE_TAG \ --build-arg GITLAB_RUNNER_IMAGE_TYPE=$GITLAB_RUNNER_IMAGE_TYPE \ --build-arg GITLAB_RUNNER_IMAGE_TAG=$GITLAB_RUNNER_IMAGE_TAG \ -f alpine-upgrade/Dockerfile alpine-upgrade · Some distributions, like CentOS, Red Hat, and Fedora use SELinux (Security-Enhanced Linux) by default to enhance the security of the underlying system. Use caution with this configuration.
🌐
GitHub
gist.github.com › benoitpetit › cbe19cdd369ec8c1e0defd245d91751f
complete Gitlab installation and a runner with docker · GitHub
Thanks! :-) I found an auto register version for the runner for inspiration of your work and this combined might be helpful for those passing by: https://gitlab.com/TyIsI/gitlab-runner-docker-compose/-/blob/main/docker-compose.yml?ref_type=heads
🌐
GitLab
forum.gitlab.com › gitlab ci/cd
How to use docker-compose.yml file in GitLab Runner server? - GitLab CI/CD - GitLab Forum
April 22, 2024 - Hello, I would be grateful if someone could clarify something for me. I have two servers: GitLab Server: Repositories GitLab Runner: Runner + Docker On my GitLab server I have created a project with some code. In the root directory of my project, I have placed two files, .gitlab-ci.yml and ...
Find elsewhere
Top answer
1 of 11
120

EDIT (2023): Do not keep using docker-compose! Please migrate to docker compose, which is now part of the docker image and a 99% drop-in replacement of docker-compose. Ironically, if you (now) use docker:latest, the question does not apply. See Docker's documentation on Compose V2. The answer below only applies to docker-compose, AKA Compose V1, which is to be discontinued/become unsupported.


Docker also provides an official docker-compose image: docker/compose

This is the ideal solution if you don't want to install it every pipeline.

Note that in the latest version of GitLab CI/Docker you will likely need to give privileged access to your GitLab CI Runner and configure/disable TLS. See Use docker-in-docker workflow with Docker executor

variables:
  DOCKER_HOST: tcp://docker:2375/
  DOCKER_DRIVER: overlay2

# Official docker compose image.
image:
  name: docker/compose:latest

services:
  - docker:dind

before_script:
  - docker version
  - docker-compose version

build:
  stage: build
  script:
    - docker-compose down
    - docker-compose build
    - docker-compose up tester-image

Note that in versions of docker-compose earlier than 1.25:

Since the image uses docker-compose-entrypoint.sh as entrypoint you'll need to override it back to /bin/sh -c in your .gitlab-ci.yml. Otherwise your pipeline will fail with No such command: sh

    image:
      name: docker/compose:latest
      entrypoint: ["/bin/sh", "-c"]
2 of 11
99

Following the official documentation:

# .gitlab-ci.yml
image: docker
services:
  - docker:dind    
build:
  script:
    - apk add --no-cache docker-compose
    - docker-compose up -d

Sample docker-compose.yml:

version: "3.7"
services:
  foo:
    image: alpine
    command: sleep 3
  bar:
    image: alpine
    command: sleep 3

We personally do not follow this flow anymore, because you loose control about the running containers and they might end up running endless. This is because of the docker-in-docker executor. We developed a python-script as a workaround to kill all old containers in our CI, which can be found here. But I do not suggest to start containers like this anymore.

🌐
Medium
medium.com › @BuildWithLal › dockerized-gitlab-ci-setting-up-and-connecting-your-gitlab-runner-b810a02e42f2
Dockerized GitLab CI: Setting Up and Connecting Your GitLab Runner | by Lal Zada | Medium
October 10, 2024 - We are adding a new service to the docker-compose.yml for GitLab runner which will use the docker image gitlab/gitlab-runner:alpine from the docker hub. We are setting network_mode to host for the GitLab runner container which will put the GitLab runner container on the host machine’s network so GitLab server can communicate with it through localhost instead of using its container name (container ID can change everytime we recreate containers).
🌐
Medium
medium.com › bestsecret-tech › gitlab-runner-with-docker-compose-in-windows-9d19dcc04763
GitLab Runner with Docker Compose in Windows | by Pablo Caballero | BESTSECRET Tech | Medium
July 25, 2022 - ... Warning: Docker Desktop should be running in background, otherwise all docker commands will fail. 4 For the next steps we need some information. In GitLab, go to your project and then in left menu: Settings > CI/CD > Runners > Specific runners
🌐
GitLab
forum.gitlab.com › gitlab ci/cd
How to connect a gitlab-runner with a gitlab service via docker-compose? - GitLab CI/CD - GitLab Forum
August 11, 2023 - Describe your question in as much detail as possible: I have the following docker-compose file: version: "3.8" services: gitlab: image: gitlab/gitlab-ce:16.2.3-ce.0 container_name: gitlab hostname: 'gitlab' environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://gitlab' ports: - '80:80' ...
🌐
TestDriven.io
testdriven.io › blog › gitlab-ci-docker
Deploying Self-Hosted GitLab CI Runners with Docker | TestDriven.io
October 29, 2021 - Before we update the concurrency options, add a new runner: $ docker-compose exec gitlab-runner-container \ gitlab-runner register \ --non-interactive \ --url <YOUR-GITLAB-URL> \ --registration-token <YOUR-GITLAB-REGISTRATION-TOKEN> \ --executor docker \ --description "Sample Runner 2" \ --docker-image "docker:stable" \ --docker-volumes /var/run/docker.sock:/var/run/docker.sock
🌐
DevOps in the clouds
czerniga.it › strona główna › how to install gitlab using docker compose?
How to install GitLab using Docker Compose?
September 26, 2022 - To use the GitLab runner in GitLab, you need to configure it. For correct configuration, we will need a token copied from the portal. To do this, go to the address: http://localhost:8080/admin/runners and click the Copy token button.
🌐
JamesCoyle.net
jamescoyle.net › home › docker compose yml for gitlab and gitlab runner
Docker Compose yml for Gitlab and Gitlab Runner | JamesCoyle.net Limited
November 1, 2019 - version: '3.5' services: gitlab: image: gitlab/gitlab-ce:latest hostname: www.jamescoyle.net restart: unless-stopped environment: GITLAB_OMNIBUS_CONFIG: | gitlab_rails['gitlab_shell_ssh_port'] = 8822 ports: - "8000:80" - "8822:22" volumes: - ./config/gitlab:/etc/gitlab - ./data/gitlab:/var/opt/gitlab - ./logs:/var/log/gitlab networks: - gitlab gitlab-runner: image: gitlab/gitlab-runner:alpine restart: unless-stopped depends_on: - gitlab volumes: - ./config/gitlab-runner:/etc/gitlab-runner - /var/run/docker.sock:/var/run/docker.sock networks: - gitlab networks: gitlab: Create a new directory and save the above file inside it as docker-compose.yml. You’ll need to replace the field hostname with the external URL that you’ll use to access your Gitlab instance.
🌐
TechOverflow
techoverflow.net › 2021 › 01 › 12 › how-to-install-gitlab-runner-using-docker-compose
How to install gitlab-runner using docker-compose | TechOverflow
November 5, 2025 - First, choose a directory where the service will reside in. I recommend /opt/gitlab-runner. Then create docker-compose.yml in said directory with this content:
🌐
GitHub
github.com › NullVoxPopuli › gitlab-runner › blob › master › docker-compose.gitlab.yml
gitlab-runner/docker-compose.gitlab.yml at master · NullVoxPopuli/gitlab-runner
Kubernetes + GCE configured gitlab-runner for docker-compose-powered C.I. workflows. - gitlab-runner/docker-compose.gitlab.yml at master · NullVoxPopuli/gitlab-runner
Author   NullVoxPopuli
🌐
Reddit
reddit.com › r/gitlab › use gitlab-runner with docker-compose
r/gitlab on Reddit: Use gitlab-runner with docker-compose
April 14, 2020 -

I’ve just started using gitlab runners, and I’m stuck in a point related to running docker-compose.

I don’t know if my approach ie correct, but I have a docker-compose file that runs multiple docker images on my system, and I want the gitlab runner to pull the code and run the docker-compose.yml file on the host once I push my changes to the repo.

The docker-compose.yml file is not included in the repo. I think that might be the problem, if it is, is there anyway to make the runner use the host’s docker-compose that is already running?

Thank you in advance.

🌐
GitLab
docs.gitlab.com › install › docker › installation
Install GitLab in a Docker container | GitLab Docs
In swarm mode, you can leverage Docker secrets and Docker configurations to efficiently and securely deploy your GitLab instance. Secrets can be used to securely pass your initial root password without exposing it as an environment variable. Configurations can help you to keep your GitLab image as generic as possible. Here’s an example that deploys GitLab with four runners as a stack, using secrets and configurations:
🌐
GitHub
gist.github.com › bkuhl › 3487ec4557eee8de6700d6a0ab058e72
How to use docker-compose in GitLab CI · GitHub
Make sure you have installed docker & docker-compose. Allow gitlab-runner to access docker with usermod -a -G docker gitlab-runner in your server