Я запустил контейнер докеров gitlab-ci-runner, а затем зарегистрировал бегуна, используя докер в качестве исполнителя, используя node: latest в качестве образов докеров. Но когда я нажимаю фиксацию на gitlab , я получаю эту ошибку:

Running with gitlab-runner 11.3.1 (0aa5179e)
  on docker-ci 0f9fe2c4
Using Docker executor with image node:latest ...
ERROR: Preparation failed: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? (executor_docker.go:1150:0s)

Вот мой gitlab config.toml:

concurrent = 1
check_interval = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "docker-ci"
  url = "http://gitlab.xxxxxx.com/"
  token = "0......fc5"
  executor = "docker"
  [runners.docker]
    tls_verify = false
    image = "node:latest"
    privileged = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]

Я запускаю контейнер, используя:

sudo docker run -d --name gitlab-runner --restart always \
 -v ~/srv/gitlab-runner/config:/etc/gitlab-runner \
 -v ~/var/run/docker.sock:/var/run/docker.sock \
 gitlab/gitlab-runner:latest

И зарегистрируйтесь, используя:

sudo docker run --rm -t -i -v ~/srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register

Я новичок в докере, не могу найти причину ошибки. Кто-нибудь может мне помочь?

4
westfall 8 Окт 2018 в 09:45

2 ответа

Лучший ответ

В качестве контейнера CLI или gitlab-ci-runner container необходимо смонтировать сокет Docker хост-машины в контейнере. Это позволит вашему контейнеру использовать демон Docker хост-компьютера для запуска контейнеров и создания образов.

Вам просто нужно изменить команду запуска gitlab-ci-runner .

docker run -d --name gitlab-runner --restart always \
  -v /srv/gitlab-runner/config:/etc/gitlab-runner \
  -v /var/run/docker.sock:/var/run/docker.sock \
  gitlab/gitlab-runner:latest
3
Adiii 8 Окт 2018 в 06:59

В моем случае на моей машине не было докера. Вот документ для установки https://docs.docker.com/install / Linux / докер - с / убунт / # установка - докер - с

sudo apt-get install docker-ce docker-ce-cli containerd.io
3
Ryabchenko Alexander 12 Мар 2019 в 06:11