Produktiver entwickeln mit Dev Containers
Development Containers stellen standardisierte, identische Entwicklungsumgebungen lokal oder in der Cloud bereit und erleichtern deren Einrichtung.
- Dr. Fabian Deitelhoff
Unterschiedliche Umgebungen bei der Entwicklung führen dazu, dass Code auf einem System läuft, auf einem anderen jedoch Fehler erzeugt. Development Containers (Dev Containers) standardisieren die Entwicklungsumgebung im Team und machen Set-ups dadurch reproduzierbar.
Ein Dev Container ist eine isolierte Umgebung in Form eines Docker-Containers, der alles Nötige für die Softwareentwicklung enthält: das Betriebssystembasisimage, Laufzeitumgebungen, Bibliotheken, Tools, Einstellungen und bei Bedarf auch Editor und IDE. Die Container laufen getrennt vom Hostsystem, sodass lokale Installationen und Unterschiede im Betriebssystem keine Rolle mehr spielen. Microsoft hat die Idee der Dev Containers mit Visual Studio Code populär gemacht. Inzwischen gibt es eine Dev-Containers-Spezifikation, die von zahlreichen Tools umgesetzt ist.
- Development Containers (Dev Containers) sind vorgefertigte Containerumgebungen, die Laufzeitumgebung, Betriebssystemimages, Konfigurationen, Libraries, Tools, IDEs und Editoren enthalten.
- Sie sorgen fĂĽr reproduzierbare Set-ups und beschleunigen das Onboarding neuer Entwicklerinnen und Entwickler.
- Development Containers lassen sich lokal und remote, in einer privaten oder öffentlichen Cloud ausführen.
Technisch basieren Dev Containers auf Docker- und OCI-Containern (Open Container Initiative), unterscheiden sich jedoch dadurch, dass sie eher auf Entwicklungszwecke statt auf isolierte Umgebungen ausgelegt sind. Ein Container kommt meist zum Einsatz, um eine einzelne Anwendung bereitzustellen. Ein Dev Container hingegen enthält auch Entwicklungswerkzeuge wie Compiler, Debugger, Editorerweiterungen, Bibliotheken und Laufzeitumgebungen, um im Container den Code schreiben und testen zu können. Wichtig ist, dass der Quellcode beim Entwickeln meist via Volume vom Host eingebunden ist, sodass die Arbeit live im Container stattfinden kann, als wäre es der eigene Rechner. Der Dev Container läuft nur während der Entwicklung und ist nicht Teil der ausgelieferten Produktionsumgebung.
Das war die Leseprobe unseres heise-Plus-Artikels "Produktiver entwickeln mit Dev Containers". Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.