2016-03-19 15 views
1

Ich traf dieses Problem vor langer Zeit und kann es überhaupt nicht lösen. Kann mir jemand Hilfe geben?Git Klon kann Host innerhalb Docker Container nicht erreichen

Ich habe einen Docker Container, und dann in Docker, möchte ich eine interne Git Repository klonen:

git clone [email protected]:ngcsc/ngcsc.git 

Und ich habe diesen Fehler:

ssh: connect to host git.xxx.net port 22: No route to host 
fatal: Could not read from remote repository. 

Please make sure you have the correct access rights 
and the repository exists. 

Wenn ich curl https://git.xxx.net verwenden, traf ich auch Fehler:

curl: (7) Failed connect to git.xxx.net:443; No route to host 

ich kann ot kräuseln Ihre https-Website, wie zum Beispiel curl https://www.google.com

Ich weiß nicht, warum einige interne Website innerhalb Docker erreicht werden kann, einige nicht. Alle Vorschläge werden geschätzt

+0

könnte hier relevant sein: http://stackoverflow.com/a/31328031/6309 und http://askubuntu.com/a/136414/5470 und http://blog.oddbit.com/2014/08/ 11/Vier-Wege-zu-verbinden-ein-docker / – VonC

Antwort

0

Ich denke, da Sie die SSH-URL für Git-Klon verwenden, hätten Sie einen SSH-Schlüssel generieren und das gleiche auf dem Git-Portal registrieren.

GitHub ssh registration

Dann würden Sie die SSH-Schlüssel in den Docker Behälter enthalten müssen und tun ssh-add keyfile

Hope this löst Ihr Problem

0

Erstens, stellen Sie sicher, dass Sie die entsprechenden Ports zugeordnet haben, wenn Sie Starten Sie den Container, in der Regel ssh Port 22 oder 443 verwenden, so dass Sie beide einfach zuordnen können.

docker run -it -p 22:22 -p 443:443 IMAGE_ID 

Zweitens innerhalb der Docker, sollten Sie einen SSH-Schlüsselpaar erzeugen und registrieren das git Portal Sie verwenden. Sie können einfach den Befehl ssh-keygen verwenden, um ein neues Schlüsselpaar zu generieren.

Verwandte Themen