1 votes

Gitlab runner dans Docker avec docker executor

Je veux exécuter Gitlab CI Runner dans un conteneur docker tout en utilisant également l'exécuteur docker pour exécuter mes constructions dans leurs propres conteneurs docker, le tout sur CoreOS.

Est-ce même possible? Toute la documentation que j'ai trouvée jusqu'à présent suppose que Gitlab Runner est en cours d'exécution sur le système hôte, ce qui n'est pas une option viable pour moi.

L'alternative serait d'avoir des conteneurs gitlab-runner spécialisés avec les dépendances de construction installées dans chacun.

1voto

tojo Points 121

Il y a un paramètre --privileged

https://docs.docker.com/engine/reference/run/#/runtime-privilege-and-linux-capabilities

Cela devrait donner la possibilité d'exécuter Docker à l'intérieur de Docker. Donc théoriquement c'est possible, mais vous risquez probablement de rencontrer d'autres problèmes.

0voto

Hlex Points 101

Vous devez monter docker.sock, définir --privileged

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

Et définir le privilège de configuration .

[[runners]]

  name = "docker2"
  url = "https://gitlab.com/"
  token = "xxxxx"
  executor = "docker"
  [runners.docker]
    image = "alpine:latest"
    privileged = true
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    shm_size = 0

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X