Wie verwende ich „go get', um aus privaten GitHub-Repositorys in einem Debian Wheezy Docker-Container abzurufen?

DDD
Freigeben: 2024-11-08 17:28:02
Original
627 Leute haben es durchsucht

How to Use

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:

  1. Installieren Sie SSH und konfigurieren Sie Git für die Verwendung von SSH:
RUN apt-get update && apt-get install -y ca-certificates git-core ssh
Nach dem Login kopieren
  1. Fügen Sie den privaten Schlüssel zum Container hinzu:
ADD keys/my_key_rsa /root/.ssh/id_rsa
Nach dem Login kopieren
  1. Berechtigungen für den privaten Schlüssel festlegen:
RUN chmod 700 /root/.ssh/id_rsa
Nach dem Login kopieren
  1. Konfigurieren Sie Git so, dass SSH erzwungen wird GitHub:
RUN echo "Host github.com\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config
Nach dem Login kopieren
  1. Git-SSH-URL-Einstellungen festlegen:
RUN git config --global url.ssh://[email protected]/.insteadOf https://github.com/
Nach dem Login kopieren
  1. Fügen Sie das private Repository zum Docker-Image hinzu:
ADD . /go/src/github.com/myaccount/myprivaterepo
Nach dem Login kopieren
  1. Führen Sie „go get“ aus und installieren Sie das Paket:
RUN go get github.com/myaccount/myprivaterepo
RUN go install github.com/myaccount/myprivaterepo
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage