2017-11-16 6 views
1

Okay, für einige Projekte muss ich auf meine privaten Repositories zugreifen, daher möchte ich den SSH-Agenten des Hosts an den Container weiterleiten, um das Abrufen von diesen privaten Repositories zu ermöglichen. Irgendwann möchte ich das in Docker-Compose implementieren.SSH Agent Weiterleitung an Docker Alpine Container von Mac OS

docker run --rm -t -i \ 
-v $SSH_AUTH_SOCK:/ssh-agent \ 
-e SSH_AUTH_SOCK=/ssh-agent \ 
alpine:3.6 sh 

Aber wenn ich ssh-add -l laufen im Inneren gibt (nach sicher openssh machen installiert ist)

ich folgendes erhalten:

Ich habe viele Antworten und Lösungen auf etwas zeigt, wie diese gefunden Fehler:

Auch versucht dies in meinem Docker komponieren Setup, aber es scheint nicht zu funktionieren, wie es sollte. Da die meisten Beiträge und Lösungen mehrere Jahre alt sind, hoffe ich, dass mir jemand mit aktuellen Informationen helfen kann.

Antwort

1

Sie können zwar Dateien, aber keine Sockets mounten - das Teilen von Sockets zwischen MacOS über den Hypervisor in Andockcontainern wird noch nicht unterstützt. Verschiedene Fehlerberichte und Bestätigungen existieren und eines Tages sollte es funktionieren.

In der Zwischenzeit müssen Sie etwas haben, das den Netzwerkverkehr zwischen dem Container und MacOS weiterleitet. Eine der Lösungen, auf die die Leute hinweisen, ist docker-ssh-agent-forward.

Eine andere Lösung wäre, ssh-agent in einem Container zu betreiben und von MacOS und den anderen Containern darauf zuzugreifen - es ist wahrscheinlich etwas invasiver, aber funktioniert. Eine Lösung ist docker-ssh-agent.

+0

Eine andere Lösung wäre ngrok: https://grok.com/ Sie können es aus dem Container mit 'ngrok tcp 22' ausführen, und es wird einen öffentlichen FQDN generieren/verfügbar machen, den Sie direkt verwenden können zum Behälter. – DivXZero

Verwandte Themen