Heim  >  Artikel  >  Backend-Entwicklung  >  Wie greife ich auf private GitHub-Repositorys in Docker-Containern zu?

Wie greife ich auf private GitHub-Repositorys in Docker-Containern zu?

Susan Sarandon
Susan SarandonOriginal
2024-11-09 12:41:01795Durchsuche

How to Access Private GitHub Repositories in Docker Containers?

Docker: Abrufen aus privaten GitHub-Repositorys

Frage:

Beim Versuch, ein privates GitHub-Repository in einem Docker zu verwenden Während des Go-Get-Vorgangs tritt ein Fehler auf, der auf ein Problem mit der Validierung des öffentlichen Schlüssels hinweist. Wie kann dieses Problem gelöst werden?

Antwort:

1. Stellen Sie sicher, dass die richtigen SSH-Schlüsselberechtigungen vorhanden sind:

  • Stellen Sie sicher, dass die privaten und öffentlichen SSH-Schlüssel, die der Docker-Datei hinzugefügt wurden (priv/id_rsa und priv/id_rsa.pub), über die entsprechenden Berechtigungen verfügen (z. B. chmod 600 oder chmod 700).

2. SSH-Nutzung für Git-Vorgänge erzwingen:

  • Fügen Sie die folgende Zeile zur Docker-Datei hinzu: RUN git config --global url.ssh://[email protected]/.insteadOf https ://github.com/, wodurch Git gezwungen wird, SSH anstelle von HTTPS zu verwenden.

3. Beispiel-Dockerdatei:

FROM golang

RUN apt-get update && apt-get install -y ca-certificates git-core ssh

ADD keys/my_key_rsa /root/.ssh/id_rsa
RUN chmod 700 /root/.ssh/id_rsa
RUN echo "Host github.com\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config
RUN git config --global url.ssh://[email protected]/.insteadOf https://github.com/

ADD . /go/src/github.com/myaccount/myprivaterepo

RUN go get github.com/myaccount/myprivaterepo
RUN go install github.com/myaccount/myprivaterepo

Diese geänderte Dockerdatei enthält die SSH-Konfiguration und erzwingt die Verwendung von SSH für Git-Vorgänge, wodurch das während des Go-Get-Prozesses aufgetretene Problem behoben wird.

Das obige ist der detaillierte Inhalt vonWie greife ich auf private GitHub-Repositorys in Docker-Containern zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn