Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

cannot connect to the docker daemon

quando fiz o exercicio de separar jobs deu erro. segue erro no job no gitlab:

Running with gitlab-runner 13.4.1 (e95f89a0)
  on runner-bytebank xXLHe6sG
Resolving secrets
00:00
Preparing the "docker" executor
00:09
ERROR: Failed to remove network for build
ERROR: Preparation failed: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? (docker.go:985:0s)

meu yml

image: docker:stable

stages:
- pre-build
- build
- test
- deploy

build-docker:
    services:
    - docker:dind

    before_script:
    - docker info
    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD

    stage: pre-build
    script: 
    - docker build -t todo-list-img .
    - docker tag todo-list-img azosnosredna/gitlab_todolist_img:latest
    - docker push azosnosredna/gitlab_todolist_img:latest

build-project:
    stage: build
    image: azosnosredna/gitlab_todolist_img:latest
    tags:
    - executor-tarefas
    dependencies:
    - build-docker
    script:
    - echo "runner"

6 respostas

O problema é o executor-tarefas. Pausei o executor-tarefas no runners e executou o primeiro job normalmente. Claro que pausou no segundo job, pois o executor era requerido. Startei novamente o executor-tarefas para finalizar o segundo job e a mensagem acima apareceu logo depois. Alguma idéia do porque o runner da erro?

Olá Anderson, tudo bem? Primeiramente penso que você deveria utilizar as imagens fixadas docker:19.03.0 e docker:19.03.0-dind deixando o seu arquivo .gitlab-ci.yml da seguinte forma:

image: docker:19.03.0

stages:
- pre-build
- build
- test
- deploy

build-docker:
    services:
      - docker:19.03.0-dind

    before_script:
      - docker info
      - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD

    stage: pre-build
    script: 
      - docker build -t todo-list-img .
      - docker tag todo-list-img azosnosredna/gitlab_todolist_img:latest
      - docker push azosnosredna/gitlab_todolist_img:latest

build-project:
    stage: build
    image: azosnosredna/gitlab_todolist_img:latest
    tags:
      - executor-tarefas
    dependencies:
      - build-docker
    script:
      - echo "runner"

As versões devem ser fixas porque do contrário podem gerar certificados automaticamente o que dificulta a comunicação. Então tenta usando esse código acima e fala pra gente qual foi o resultado!

Nada muda, ocorre o erro:

Running with gitlab-runner 13.4.1 (e95f89a0)
  on runner-bytebank xXLHe6sG
Resolving secrets
00:00
Preparing the "docker" executor
00:09
ERROR: Failed to remove network for build
ERROR: Preparation failed: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? (docker.go:985:0s)

Mas basta eu pausar o executor que funciona o build-docker, mas então o build-project pausa, por falta do executor da tag.

Com o executor-tarefas habilitado até o primeiro pipeline hello word falha. Ele se torna o runner padrão para tudo, parece.

Fiz uma alteração no tua sugestão em que as duas tarefas funcionam. Ou seja, com o executor-tarefas não funfa, tive que desativa-lo.

build-project:
    services:
    - docker:19.03.0-dind

    stage: build
    image: azosnosredna/gitlab_todolist_img:latest
    dependencies:
    - build-docker
    script:
    - echo "runner"

sucesso na empreitada:

Executing "step_script" stage of the job script
00:02
$ echo "runner"
runner
Cleaning up file based variables
00:02
Job succeeded

`

solução!

Se o problema esta sendo o executor que criei, removi ele e refiz conforme a aula anterior, obtive um novo executor. Creio que gerei com erro o primeiro pois tinha erro no codigo meus no meu script da aula anterior (dockersock sem ponto). Agora ficou assim:

docker run -d --name gitlab-runner --restart always -v /var/run/docker.sock:/var/run/docker.sock  -v /vagrant/:/etc/gitlab-runner  gitlab/gitlab-runner:latest

Agora mudou o erro. :(

lookup docker on 10.0.2.3:53: server misbehaving

Abrirei outro topico no forum, quero crer que nao exista erros na confecção deste novo runner.

Certo Anderson, eu vi o outro tópico que você criou e aquela seria minha próxima resposta, também tive alguns problemas semelhantes, e precisei até modificar o arquivo config.toml do runner. Mas que bom que deu tudo certo!