Warum funktioniert Docker nicht innerhalb von CI/CD Pipelines?


Aufträge von CI/CD Pipelines werden von so genannten "CI Runnern" ausgeführt. Die GWDG betreibt eine Reihe von "Shared Runnern", die standardmäßig allen Projekten zur Verfügung stehen. Da diese Runner Aufträge von unterschiedlichen Projekten und Benutzern ausführen, haben sie besonders hohe Sicherehitsanforderungen. Einige Funktionen wurden daher deaktiviert, unter Anderem der Zugriff auf den Docker-Daemon.

Wenn sie Gitlab CI/CD Pipelines zum Bauen von Docker-Images nutzen wollen, haben sie zwei Möglichkeiten:

  1. Verwenden sie Werkzeuge, die Docker-Images auch ohne Zugriff auf den Docker-Daemon erstellen können. Beispiele hierfür wären Kaniko, Buildah oder Jib. Letzteres eignet sich besonders für Java Projekte.
  2. Sie betreiben einen eigenen Runner und folgen der Anleitung unter https://docs.gitlab.com/ee/ci/docker/using_docker_build.html

 

2021-10-22 09:21 Marcel Hellkamp {writeRevision}
Durchschnittliche Bewertung: 3 (2 Abstimmungen)

Kommentieren nicht möglich

Chuck Norris has counted to infinity. Twice.