Produktiver entwickeln mit Dev Containers

Development Containers stellen standardisierte, identische Entwicklungsumgebungen lokal oder in der Cloud bereit und erleichtern deren Einrichtung.

Artikel verschenken
vorlesen Druckansicht 2 Kommentare lesen
Lesezeit: 15 Min.
Von
  • Dr. Fabian Deitelhoff
Inhaltsverzeichnis

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.

iX-tract
  • 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.
Mehr zu Softwareentwicklung
Dr. Fabian Deitelhoff
Dr. Fabian Deitelhoff

Dr. Fabian Deitelhoff ist IT-Leiter Head of Software Development und Head of Product bei der Education Partners GmbH. Zudem ist er als Autor, Dozent und Softwareentwickler tätig.

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.

Immer mehr Wissen. Das digitale Abo fĂĽr IT und Technik.