Linux development unter Windows

Wir haben unsere Entwicklungsumgebung komplett dockerisiert. Es gibt Container für die Datenbank, den Webserver, das Buildsystem, den development server usw. Damit erreichen wir, dass von jedem von uns sehr schnell eine Entwicklungsumgebung für jedes unserer Projekte bereitgestellt werden kann.

Das ist toll. Funktioniert aber leider nur unter Linux wirklich gut. Bis jetzt.

Ist eigentlich nicht schlimm, weil wir eigentlich alle am liebsten unter Linux arbeiten. Ein paar Fälle gab es allerdings, wo jemand gern ein Windows nutzen und trotzdem entwicklen wollte. Bisher ein no-go.

Das “Windows Subsystem for Linux” - WSL

Das WSL ist ein für Windows optimierter Linux Kernel, der auf der Hyper-V Engine betrieben wird.

Zu Installation gibt man einfach in einer Powershell ein:

wsl --install

Um es zu aktivieren, geht man in den Windows Store und entscheidet sich für eine Linux-Distribution, z.B. Ubuntu 20.04.

WSL Linux distribution

Drückt man auf “Launch” bei einer Distribution, so wird direkt ein Linux gebootet und ein Terminal geöffnet:

WSL launch Linux

Et voíla! Schon läuft das Linux unter Windows.

Will man darin Docker laufen lassen, so nutzt man den Docker Client für Windows und aktiviert die WSL-Integration.

WSL Docker

Läuft dann in einem Docker Container zum Beispiel ein Webserver, sagen wir, auf Port 9876, dann kann man einfach einen Browser direkt auf der Windows Ebene aufmachen und findet die Seite unter localhost:9876.

Auch Dateien im Linux-System stehen direkt unter Windows zur Verfügung.

WSL Files

Limitationen

Es steht tatsächlich nur das Linux-Terminal zur Verfügung, eine graphische Oberfläche kann man (noch) nicht starten. Macht ja aber auch weniger Sinn, weil man ja schliesslich unter Windows arbeiten wollte. Und mit Visual Studio Code kann man ja z.B. direkt unter Windows an den Dateien des Projektes unter Linux arbeiten.