SSH-basierte GIT-URIs können in einem Windows-Container nicht geklont werden

SSH-basierte GIT-URIs können in einem Windows-Container nicht geklont werden

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-dockerContainer 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 DockerfileMö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.

verwandte Informationen