J'ai un repo privé sur gitlab.com. J'ai déjà configuré un pipeline CI/CD à l'aide de coureurs partagés Gitlab. Sur le code PUSH, une image DOCKER est construite, connectez-vous à Gitlab Private Docker Registry et appuyez sur l'image. Cela fonctionne bien avec les coureurs partagés. Maintenant, j'essaie de créer des coureurs personnalisées pour le pipeline.
J'ai créé une goutte de drogue sur DigitalOcean (Docker 18.09.2 ~ 3 sur Ubuntu 18.04 - 8 Go/4 cpus/160 Go SSD)
ssh dans la gouttelette
créez un coureur (à partir de - https://docs.gitlab.com/runner/install/docker.html#docker-image-installation-and-configuration )
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
et inscrivez-le (à partir de - https://docs.gitlab.com/runner/register/index.html#one-line-registration-Command )
docker run --rm -t -i -v /srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register \
--non-interactive \
--executor "docker" \
--docker-image Alpine:3 \
--url "https://gitlab.com/" \
--registration-token "MY_TOKEN" \
--description "docker-runner" \
--tag-list "docker,digitalocean" \
--run-untagged="true" \
--locked="false"
en exécutant le pipeline, il échoue à cette commande
docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY
aussi si j'utilise
docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com
avec ce message d'erreur
error during connect: Post http://docker:2375/v1.39/auth: dial tcp: lookup docker on 67.207.67.2:53: no such Host
Je reçois aussi la même erreur si j'utilise mon PC local.
J'ai essayé d'éditer/etc/hôtes sans succès.
Il fonctionne toujours avec les coureurs partagés, mais échoue avec mes coureurs personnalisées. Qu'est-ce que je rate?
docker Info
Containers: 4
Running: 1
Paused: 0
Stopped: 3
Images: 4
Server Version: 18.09.2
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge Host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 9754871865f7fe2f4e74d43e2fc7ccd237edcbce
runc version: 09c8266bf2fcf9519a651b04ae54c967b9ab86ec
init version: fec3683
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 4.15.0-45-generic
Operating System: Ubuntu 18.04.2 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.79GiB
Name: docker-s-4vcpu-8gb-sgp1-01
ID: XF6Y:25TY:YXNO:RDHT:PEGU:KGR7:GPEM:DDBE:MAQ5:5VIJ:4GHB:Q7TF
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine
ceci est le fichier/etc/hosts sur le coureur partagé qui traite avec succès le pipeline.
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.0.1 0hshit.hopto.org
127.0.0.1 daymndaymn.myftp.org
127.0.0.1 loba.webhop.me
172.17.0.3 docker 50d9e6c88489 runner-72989761-project-11958054-concurrent-0-docker-0
172.17.0.4 runner-72989761-project-11958054-concurrent-0
Eu le même problème.
error during connect: Post http://docker:2375/v1.40/auth: dial tcp: lookup docker on 8.8.8.8:53: no such Host
Le problème est également apparu sur JEKYLL Runner. Correction de celui-ci en désactivant le coureur Jekyll (comme il était redondant) et modifier la configuration de GITLAB-Runner nouvellement implémentée située à:
/etc/gitlab-runner/config.toml
sur une machine debian 10.
Je pense que l'erreur est liée à la version Docker, comme indiqué dans le commentaire précédent et documenté dans Gitlab problème suivi :
image = "docker:stable"
à la place de:
image = "debian:stable"
(Utilisation de la configuration GITLAB par défaut installée sur la machine Debian avec GITLAB fourni un package). Cette ligne est située dans le [[runners]]
section.
Tout le fichier TOML GITLAB:
concurrent = 1
check_interval = 5
log_level = "debug"
[session_server]
session_timeout = 1800
[[runners]]
name = "ecollect-docker-01"
url = "https://mygitlabinstance.example.com/"
token = "mys3cr3tt0ken"
executor = "docker"
[runners.custom_build_dir]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.cache.Azure]
[runners.docker]
tls_verify = false
image = "docker:stable"
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
J'espère que j'ai aidé!