Docker: Abrufen aus privaten GitHub-Repositorys mit „go get“
Beim Versuch, einen Container auszuführen, der einen Golang-Dienst von einem privaten GitHub aus hostet Wenn Sie das google/debian:wheezy-Image als Ausgangspunkt verwenden, kann es im Repository zu Schwierigkeiten kommen. Dieser Fehler tritt auf, wenn „go get“ versucht, das Repository zu klonen.
Das Problem ist auf Schwierigkeiten beim Klonen des privaten Repositorys aufgrund von Problemen bei der SSH-Schlüsselvalidierung zurückzuführen. Obwohl Sie die GitHub-SSH-Schlüssel zur Docker-Datei hinzugefügt haben, um das Klonen zu ermöglichen, scheint es offenbar ein Problem bei der Validierung des öffentlichen Schlüssels zu geben.
Um dieses Problem zu beheben, ziehen Sie die folgende Lösung in Betracht:
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 Lösung umfasst die Installation von SSH und das Erstellen eines privaten Schlüssels im Container. Obwohl es nicht ideal ist, bietet es eine Problemumgehung für das Problem des Abrufens privater Repositorys mit „go get“ in einer Docker-Umgebung, die auf Debian Wheezy basiert.
Das obige ist der detaillierte Inhalt vonWie verwende ich „go get', um aus privaten GitHub-Repositorys in einem Debian Wheezy Docker-Container abzurufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!