GitLab CI-Runner kann keine Verbindung zu unix: ///var/run/docker.sock in kubernetes herstellen

8

GitLab läuft im kubernetes-Cluster. Runner kann kein Docker-Image mit Buildartefakten erstellen. Ich habe bereits verschiedene Ansätze ausprobiert, um dieses Problem zu beheben, aber kein Glück. Hier sind einige Configs Snippets:

.gitlab-ci.yml

%Vor%

config.toml

%Vor%

Paketzeitprotokoll:

%Vor%

Was mache ich falsch?

    
cardinal-gray 17.03.2017, 21:02
quelle

2 Antworten

6

Muss nicht verwendet werden:

%Vor%

Weil es so aussieht, als ob OVERLAY nicht unterstützt wird, kann svc-0 container nicht damit anfangen:

%Vor%

Fügen Sie auch export DOCKER_HOST="tcp://localhost:2375" zum docker-build hinzu:

%Vor%     
cardinal-gray 20.03.2017, 12:07
quelle
3

Wenn Sie Kubernetes verwenden, müssen Sie Ihr Build-Bild anpassen, um eine Verbindung mit der Docker-Engine herzustellen.

Fügen Sie Ihrem Build-Image Folgendes hinzu:

%Vor%

Zitat aus der Dokumentation:

  

Ausführen des Andockers: dind wird auch als Docker-in-docker-Image bezeichnet   möglich, aber leider müssen die Container im privilegierten Modus ausgeführt werden.   Wenn Sie bereit sind, dieses Risiko einzugehen, werden andere Probleme auftreten, die es möglicherweise nicht gibt   scheinen auf den ersten Blick einfach zu sein. Weil der Andockdämon gestartet wurde   Als Dienst wird in der Regel in Ihrem .gitlab-ci.yaml als separater Dienst ausgeführt   Container in Ihrem Pod. Grundsätzlich teilen Container in Pods nur zugewiesene Volumes   ihnen und einer IP-Adresse, mit der sie sich über localhost erreichen können.   /var/run/docker.sock wird vom Andockfenster nicht verwendet: dind container und docker   binary versucht, es standardmäßig zu verwenden. Um dies zu überschreiben und den Client tcp benutzen zu lassen   Um den Docker-Daemon im anderen Container zu kontaktieren, achten Sie darauf, dass Sie ihn einschließen   DOCKER_HOST = tcp: // localhost: 2375 in Ihren Umgebungsvariablen des Build-Containers.

Gitlab-CI über Kubernetes

    
opHASnoNAME 18.03.2017 05:37
quelle