Search code examples
gitlabgitlab-cigitlab-ci-runner

Cannot run DIND for GCloud SDK docker image in GitLab Runner


I have set up a simple .gitlab-ci file which should be able to run docker service:

docker:
  image: google/cloud-sdk:latest
  variables:
    DOCKER_DRIVER: overlay2
    DOCKER_HOST: tcp://127.0.0.1:2375
  services:
    - docker:dind
  tags:
    - docker
  script:
    - docker pull buster-slim

However it fails as:

https://gitlab.com/knyttl/runnerdemo/-/jobs/932204050

2020-12-25T19:31:04.558361767Z time="2020-12-25T19:31:04.558195638Z" level=info msg="API listen on [::]:2375"
2020-12-25T19:31:04.558522591Z time="2020-12-25T19:31:04.558447616Z" level=info msg="API listen on /var/run/docker.sock"

The service apparently correctly starts, but then it doesn't work:

Cannot connect to the Docker daemon at tcp://127.0.0.1:2375. Is the docker daemon running?

Solution

  • In fact, the only reason why this was not working was:

     DOCKER_HOST: tcp://docker:2375

    The dind service CAN run within cloud-sdk image, but it needs to be linked as a host.