
Ich bin mir nicht sicher, was passiert ist, aber bis letzte Woche konnte ich Git-Repositorys über SSH-basierte URIs in meinen Windows-Containern basierend auf dem dotnet-framework-docker
Container klonen. Jetzt erhalte ich plötzlich ohne Vorwarnung diesen Fehler, wenn ich versuche, ein öffentliches Repository zu klonen – sogar ein öffentliches Repository:
C:\>git clone [email protected]:atrauzzi/praxis.git
git clone [email protected]:atrauzzi/praxis.git
Cloning into 'praxis'...
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Hier ist eine einfache Dockerfile
Möglichkeit, das Problem zu reproduzieren:
FROM microsoft/dotnet-framework
SHELL ["powershell"]
# Install Git
RUN New-Item -ItemType Directory -Force -Path 'c:/git';
RUN Invoke-WebRequest "https://github.com/git-for-windows/git/releases/download/v2.15.1.windows.1/Git-2.15.1-64-bit.exe" -OutFile "/git-installer.exe" -UseBasicParsing;
RUN Start-Process -FilePath C:/git-installer.exe -ArgumentList '/VERYSILENT', '/NORESTART', '/NOCANCEL', '/SP-', '/DIR="c:/git"' -PassThru | Wait-Process;
RUN rm /git-installer.exe;
Ich bin mir derzeit nicht sicher, was die Ursache dafür sein könnte. Das einzig Verdächtige ist, dass beim Versuch, das auf Minw basierende Programm auszuführen ssh.exe
, eine leere Zeile gedruckt und dann beendet wird.
Einige meiner Vermutungen beziehen sich offensichtlich auf Mingw und die Tatsache, dass ich die Dinge in einem Container ausführe.
cchttps://github.com/Microsoft/dotnet-framework-docker/issues/61
Antwort1
Das ist nur eine Vermutung - aber ich vermute, dass das Dotnet-Framework-Image bereits den SSH-Schlüssel für GitHub hatte... Allerdings muss man sich das ansehenhttps://github.com/git-for-windows/git/issues/1403als grundlegende/ideale Lösung.