Docker-Socket-Weiterleitung
Verwenden Sie einen Secure Pipes SSH-Tunnel, um von Ihrem Mac aus auf einen Remote-Docker-Socket oder von einem Remote-Host auf einen lokalen Socket zuzugreifen.
Vor der Ausführung
Der Docker-Socket-Zugriff gewährt umfassende Kontrolle über den Docker-Host, was häufig dem Administratorzugriff entspricht. Verwenden Sie nur Loopback-Adressen, setzen Sie den Listener niemals einem nicht vertrauenswürdigen Netzwerk aus und stoppen Sie den Tunnel nach der Verwendung. Andere Benutzer und Prozesse auf dem Listener-Computer können ebenfalls auf den nicht authentifizierten lokalen Port zugreifen. Der SSH-Benutzer muss über die Berechtigung verfügen, auf den entsprechenden Socket zuzugreifen. Der SSH-Server muss die entsprechende Weiterleitung zulassen. Damit dies funktioniert, sollten Sie die Socket-Berechtigungen nicht schwächen.
Beispiele
Voraussetzungen: Installieren Sie die Docker-CLI dort, wo Sie den Test ausführen, und stellen Sie sicher, dass der Ziel-Docker-Daemon ausgeführt wird. Überprüfen Sie auf dem Mac den aktuellen Docker-Kontext. Ein Unix-Socket-Pfad muss absolut sein. Remote-Kontexte sind keine lokalen Sockets.
docker context inspect --format '{{.Endpoints.docker.Host}}'Lokale Weiterleitung: Wählen Sie in Secure Pipes „Lokale Weiterleitung“, legen Sie den lokalen Endpunkt auf 127.0.0.1:8888 fest und wählen Sie „Remote Unix Socket“ mit /var/run/docker.sock. Stellen Sie eine Verbindung zum Remote-Ubuntu-Host her und führen Sie dann diesen Befehl auf dem Mac aus.
docker -H tcp://127.0.0.1:8888 psUm den Mac-Socket für die Remote-Weiterleitung zu finden, überprüfen Sie den Docker-Kontext auf dem Mac. Beispielsweise kann OrbStack unix:///Users/yourname/.orbstack/run/docker.sock melden; Verwenden Sie Ihren tatsächlichen absoluten Pfad.
docker context inspect --format '{{.Endpoints.docker.Host}}'Remote-Weiterleitung: Wählen Sie in Secure Pipes „Remote Forward“ aus, legen Sie den Remote-Endpunkt auf 127.0.0.1:8888 fest und wählen Sie „Local Unix Socket“ mit dem Mac-Socket-Pfad. Führen Sie nach dem Herstellen der Verbindung diesen Befehl auf dem Remote-Host aus.
docker -H tcp://127.0.0.1:8888 psAlternativ können Sie DOCKER_HOST nur für einen Befehl festlegen. Dadurch wird weder die aktuelle Shell noch der gespeicherte Docker-Kontext geändert.
DOCKER_HOST=tcp://127.0.0.1:8888 docker psMaßgebliche Quellen
Geprüft am 27. Oktober 2026