Dev Container Extension
Die Dev Containers Extension erweitert Visual Studio Code um die Möglichkeit, Entwicklungsumgebungen direkt in Containern zu definieren und zu nutzen.
Wie zuvor beschrieben besteht die Entwicklungsumgebung in dieser Guideline aus einem Multi-Container-Setup, wobei der dev-Container der “eigentliche” Dev Container im Sinne der VS Code Development Container Konzepts ist.
Projekte können dadurch in einer vorkonfigurierten Containerumgebung geöffnet werden, ohne dass alle benötigten Abhängigkeiten lokal auf dem Host-System installiert sein müssen.
Die VS Code Dev Container Extension liest dabei die im Projekt bereitgestellte Dev Container Konfiguration ein und erstellt bzw. startet daraus automatisch die definierte Entwicklungsumgebung in VS Code.
Dinge die Dev Container Extension automatisch macht
Abschnitt betitelt „Dinge die Dev Container Extension automatisch macht“Git Credential Sharing
Abschnitt betitelt „Git Credential Sharing“Git Credential Sharing soll Git im dev-Container den Zugriff auf die - bereits auf dem Host-System - konfigurierten Zugangsdaten ermöglichen, indem SSH-Agenten oder Credential Helper weitergereicht werden.
Mechanismen:
- SSH-Agent Forwarding
- Nutzung eines lokalen Git Credential Helpers
- interne bzw. temporäre Socket-Weitergabe
Das VS Code Trouble-Shooting Kapitel kann dabei helfen, zu verstehen welcher Mechanismus im Setup greift.
SSH Agent Forwarding
Abschnitt betitelt „SSH Agent Forwarding“Wenn ein SSH Agent auf dem Host läuft, dann wird dieser automatisch in den Container weitergereicht.
Git-Konfiguration
Abschnitt betitelt „Git-Konfiguration“Beim Start des dev-Containers kopiert die Dev Container Extension die lokale ~/.gitconfig in den Container.
Dinge die Dev Container Extension nicht automatisch macht
Abschnitt betitelt „Dinge die Dev Container Extension nicht automatisch macht“Die Extension:
- kopiert keine privaten SSH-Keys
- mountet
~/.sshnicht automatisch - mountet
.envnicht automatisch - mountet
.gitnicht pauschal separat, sondern arbeitet mit dem gemounteten Workspace bzw. Repository
Das VS Code Troubleshooting Kapitel hilft beim Prüfen der genannten Punkte.