Vscode-docker: kann keine nicht standardmäßigen Kontexte verwenden

Erstellt am 30. Juni 2020  ·  7Kommentare  ·  Quelle: microsoft/vscode-docker

Problemtyp: Fehler

Ich habe Kontexte, die über die Befehlszeile mit Docker-Kontext einwandfrei funktionieren, aber ich kann keine Informationen in die Docker-Extionsion mit einer SSH- oder TCP-Verbindung laden (beide funktionieren einwandfrei über die Befehlszeile). TCP erhalte ich EPROTO SSLV3_ALERT_BAD_CERTIFICATE. Macht keinen Sinn, da dies auf der Befehlszeile gut funktioniert.

Erweiterungsversion: 1.3.1
VS-Code-Version: Code 1.46.1 (cd9ea6488829f560dc949a8b2fb789f3cdc05f5d, 2020-06-17T21:17:14.222Z)
Betriebssystemversion: Darwin x64 19.5.0


Systeminformationen

|Element|Wert|
|---|---|
|CPUs|Intel(R) Core(TM) i9-9980HK CPU @ 2,40 GHz (16 x 2400)|
|GPU-Status|2d_canvas: aktiviert
flash_3d: aktiviert
flash_stage3d: aktiviert
flash_stage3d_baseline: aktiviert
gpu_compositing: aktiviert
Metall: disabled_off
multiple_raster_threads: enabled_on
oop_rasterization: disabled_off
protected_video_decode: nicht verfügbar_aus
Rasterung: aktiviert
skia_renderer: disabled_off_ok
video_decode: aktiviert
viz_display_compositor: enabled_on
viz_hit_test_surface_layer: disabled_off_ok
webgl: aktiviert
webgl2: aktiviert|
|Laden (Durchschnitt)|3, 3, 3|
|Arbeitsspeicher (System)|32,00 GB (1,07 GB frei)|
|Argv verarbeiten||
|Screenreader|nein|
|VM|0%|

duplicate

Alle 7 Kommentare

Die einzige Möglichkeit, mit vscode eine Verbindung zu meiner Remote-Docker-Umgebung herzustellen, besteht darin, eval $(docker-machine env envname) zu verwenden und dann vscode über die Befehlszeile mit code -n zu starten. Im Grunde wird also nur die DOCKER_HOST-Konfiguration verwendet. Ich richte den Kontext mit demselben ca, key, cert aus den Docker-Machine-Umgebungsvariablen ein.

Screen Shot 2020-06-30 at 12 25 05 PM

Aus Leistungsgründen verwendet die Erweiterung die CLI für nichts in der Baumansicht. Für TCP-Verbindungen müssen Sie die Einstellungen docker.host / DOCKER_HOST + docker.certPath / DOCKER_CERT_PATH verwenden. Wir haben keine docker context -basierte Unterstützung für TCP + cert-Verbindungen implementiert, da es extrem schwierig ist, die Informationen von docker context den von Dockerode akzeptierten Optionen zuzuordnen.

SSH sollte funktionieren, solange Sie die Agent-Authentifizierung eingerichtet haben, dies ist hier dokumentiert.

Ok, ich bin zurück zum ssh-Host gewechselt, um den Docker-Kontext zu erstellen. Nachdem ich dann ssh-add ohne Parameter ausgeführt habe, um die Einstellungen in ~/.ssh/id_rsa zu verwenden, funktioniert es wie erwartet. Danke!

Gut, dass es mit SSH funktioniert! In Bezug auf den Mangel an TCP + Cert-Unterstützung mit docker context haben wir das hier nachverfolgt: #2058

Ich schätze, wir können dieses als ein Duplikat davon auflösen.

Gut, dass es mit SSH funktioniert! In Bezug auf den Mangel an TCP + Cert-Unterstützung mit docker context haben wir das hier nachverfolgt: #2058

Ich schätze, wir können dieses als ein Duplikat davon auflösen.

Ok, für das, was es wert ist ...

Wenn ich eval $(docker-machine env myEnvName) ausführe, dann starte vscode mit dem Code -n , um die Umgebungsvariablen zu verwenden, die die TCP-Konfiguration verwendet. Und als Bonus nimmt es keine globalen Änderungen an den Einstellungen vor, wie es die Verwendung des Docker-Kontexts zu tun scheint.

Danke

Ja, das würde ich erwarten. Die Art und Weise, wie wir Einstellungen anwenden, ist im Grunde folgende:

  1. Versuchen Sie docker.dockerodeOptions , wenn das nicht existiert ...
  2. Probieren Sie docker.host plus die anderen Umgebungsvariableneinstellungen aus, falls die nicht vorhanden sind ...
  3. Probieren Sie DOCKER_HOST plus die anderen Umgebungsvariablen aus, falls die nicht vorhanden sind ...
  4. Versuchen Sie es docker context (das _sollte_ immer funktionieren, aber wenn nicht...)
  5. Geben Sie auf und instanziieren Sie Dockerode ohne Argumente
War diese Seite hilfreich?
0 / 5 - 0 Bewertungen