Heim > Artikel > Backend-Entwicklung > Wie behebt man den Fehler „Schwerwiegend: Benutzername für „https://github.com“ konnte nicht gelesen werden: Kein solches Gerät oder keine solche Adresse“ beim Klonen privater GitHub-Repos in Docker?
Docker: Beheben von GitHub-SSH-Schlüsselproblemen für das private Repo-Klonen
Beim Versuch, einen Container auszuführen, der einen Golang-Dienst von einem privaten GitHub nutzt Im Repository können während des Go-Get-Vorgangs Fehler auftreten. Ein solcher Fehler hängt mit Problemen beim Lesen des öffentlichen GitHub-SSH-Schlüssels zusammen.
Problem:
Beim Ausführen gehen Sie get github.com/
Ursache:
Dieser Fehler weist darauf hin, dass die Docker-Datei nicht ordnungsgemäß für die Authentifizierung bei GitHub über SSH konfiguriert ist. Der Befehl ssh-keyscan deckt eine Nichtübereinstimmung zwischen dem öffentlichen Schlüssel und dem Datensatz des Remote-Hosts auf.
Lösung:
Um dieses Problem zu beheben, müssen Sie einen Git-Config-Befehl zu Ihrem hinzufügen Docker-Datei, die die Verwendung von SSH anstelle des Standard-HTTPS-Protokolls für das GitHub-Klonen erzwingt. Hier ist ein Beispiel einer Docker-Datei, die diesen Fix enthält:
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://git@github.com/.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 überarbeitete Docker-Datei stellt sicher, dass SSH für das GitHub-Klonen verwendet wird, und behebt den Fehler im Zusammenhang mit dem Lesen des öffentlichen Schlüssels. Es enthält auch die notwendigen Schritte zur Installation von SSH und zur Konfiguration des Identitätsschlüssels.
Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „Schwerwiegend: Benutzername für „https://github.com“ konnte nicht gelesen werden: Kein solches Gerät oder keine solche Adresse“ beim Klonen privater GitHub-Repos in Docker?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!