Reputation: 423
I try to configure gitlab runner in order to uses docker command into my .gitlab-ci.yml
file.
I have run 2 containers to do that :
gitlab/gitlab-ce:latest
gitlab/gitlab-runner:alpine
I have set my registered runner with privilege mode :
[[runners]]
name = "first runner"
url = "http://my.domain.com:8484/"
token = "mySecretToken"
executor = "docker"
clone_url = "http://my.domain.com:8484/"
[runners.custom_build_dir]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.cache.azure]
[runners.docker]
tls_verify = false
image = "node:lts-alpine"
privileged = true
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache"]
shm_size = 0
My pipeline work fine to build and run tests. Now i want to build nginx docker container with my node builded files.
When i just run docker version
command, there was an error :
$ docker version
Client: Docker Engine - Community
Version: 20.10.1
API version: 1.41
Go version: go1.13.15
Git commit: 831ebea
Built: Tue Dec 15 04:28:35 2020
OS/Arch: linux/amd64
Context: default
Experimental: true
error during connect: Get http://docker:2375/v1.24/version: dial tcp: lookup docker on 8.8.8.8:53: no such host
ERROR: Job failed: exit code 1
Maybe it's an error into my .gitlab-ci.yml
:
services:
- name: docker:dind
stages:
- construction
variables:
DOCKER_HOST: tcp://docker:2375/
DOCKER_DRIVER: overlay2
# See https://github.com/docker-library/docker/pull/166
DOCKER_TLS_CERTDIR: ""
deploiement:
stage: construction
image: docker:latest
before_script:
- docker version
script:
- echo "test"
How can i configure my runner to execute docker commands ? Is my runner setup wrong ?
Thanks for your answers !
Upvotes: 0
Views: 4554
Reputation: 423
According to @Dr Claw and @vpalmerini comments, it necessary to add docker.sock into volume and remove variables and service. See this thread.
My .gitlab-ci.yml
:
variables:
DOCKER_DRIVER: overlay2
before_script:
- df
- cat /etc/resolv.conf
- cat /etc/hosts
deploiement:
image: docker:latest
before_script:
- docker version
script:
- docker info
My config.toml
:
[[runners]]
name = "Synology premier runner"
url = "http://my.domain.com:8484/"
token = "1UsxGPQmxht6zHPb_y2b"
executor = "docker"
clone_url = "http://my.domain.com:8484/"
[runners.custom_build_dir]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.cache.azure]
[runners.docker]
tls_verify = false
image = "node:lts-alpine"
privileged = true
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]
shm_size = 0
Thanks you very much for your answers @Dr Claw and @vpalmerini !
Upvotes: 2