So wird an WSL angedockt

Docker erhält man kostenfrei auf der Download-Seite. Die Installation erfolgt problemlos mit dem Desktop Installer. Während der Installation fragt Docker, ob WSL2 aktiviert werden soll (soll es).

  • In der Anwendung Windows-Features lässt sich WSL aktivieren. (Screenshot: Dirk Koller)
  • Der Microsoft Store listet verschiedene Linux-Distributionen. (Screenshot: Dirk Koller)
  • Beim Start von Ubuntu werden hilfreiche Informationen ausgegeben. (Screenshot: Dirk Koller)
  • Die Ausgabe von wsl -l verschafft einen Überblick über installierte Distributionen. (Screenshot: Dirk Koller)
  • Die Default-Distribution wird mit einem Asterisk markiert. (Screenshot: Dirk Koller)
  • An der Version kann man erkennen, ob die Distribution für WSL oder WLS2 vorliegt. (Screenshot: Dirk Koller)
  • WSL2 wird für die Zusammenarbeit mit Docker markiert. (Screenshot: Dirk Koller)
  • In den Docker-Einstellungen lassen sich Distributionen für die Zusammenarbeit auswählen. (Screenshot: Dirk Koller)
  • Die Remote-WSL-Erweiterung (Screenshot: Dirk Koller)
  • In der Status-Bar wird die Verbindung zu Ubuntu angezeigt. (Screenshot: Dirk Koller)
  • Die Docker-Erweiterung ermöglicht die Verwaltung der Container aus VS Code heraus. (Screenshot: Dirk Koller)
  • Die Erweiterung Remote-Containers bindet Docker Container als Arbeitsumgebung ein. (Screenshot: Dirk Koller)
WSL2 wird für die Zusammenarbeit mit Docker markiert. (Screenshot: Dirk Koller)
Stellenmarkt
  1. Data Analyst (m/w/d) für den E-Commerce
    Kreyer Holding GmbH & Co. KG, Schloß Holte-Stukenbrock
  2. Specialist eCommerce Quality Assurance & Projects (m/w/d)
    SSI Schäfer Shop GmbH, Betzdorf
Detailsuche

Nach erfolgreicher Installation wird Docker gestartet. Im Infobereich (System-Tray) findet sich danach das Docker-Symbol (ein Wal mit Frachtcontainern beladen), das Zugriff auf die Einstellungen ermöglicht. Unter Settings > General sollte die Checkbox Use the WSL 2 based engine aktiviert sein.

Bei Verwendung von Windows Home ist ohnehin keine andere Option möglich. Unter Settings > Resources > WSL Integration lässt sich definieren, mit welchen Distributionen Docker zusammenarbeitet.

  • In der Anwendung Windows-Features lässt sich WSL aktivieren. (Screenshot: Dirk Koller)
  • Der Microsoft Store listet verschiedene Linux-Distributionen. (Screenshot: Dirk Koller)
  • Beim Start von Ubuntu werden hilfreiche Informationen ausgegeben. (Screenshot: Dirk Koller)
  • Die Ausgabe von wsl -l verschafft einen Überblick über installierte Distributionen. (Screenshot: Dirk Koller)
  • Die Default-Distribution wird mit einem Asterisk markiert. (Screenshot: Dirk Koller)
  • An der Version kann man erkennen, ob die Distribution für WSL oder WLS2 vorliegt. (Screenshot: Dirk Koller)
  • WSL2 wird für die Zusammenarbeit mit Docker markiert. (Screenshot: Dirk Koller)
  • In den Docker-Einstellungen lassen sich Distributionen für die Zusammenarbeit auswählen. (Screenshot: Dirk Koller)
  • Die Remote-WSL-Erweiterung (Screenshot: Dirk Koller)
  • In der Status-Bar wird die Verbindung zu Ubuntu angezeigt. (Screenshot: Dirk Koller)
  • Die Docker-Erweiterung ermöglicht die Verwaltung der Container aus VS Code heraus. (Screenshot: Dirk Koller)
  • Die Erweiterung Remote-Containers bindet Docker Container als Arbeitsumgebung ein. (Screenshot: Dirk Koller)
In den Docker-Einstellungen lassen sich Distributionen für die Zusammenarbeit auswählen. (Screenshot: Dirk Koller)

Falls in den Einstellungen Änderungen gemacht werden, ist ein Neustart von Docker fällig. Danach ist das Docker-Backend für die Zusammenarbeit mit den ausgewählten Distributionen startklar. Das kann man nochmals überprüfen, indem man eine der Distributionen über das Startmenü oder mit wsl startet und dort docker --version eingibt:

Golem Akademie
  1. PostgreSQL Fundamentals
    14.-17. September 2021, online
  2. Advanced Python - Fortgeschrittene Programmierthemen
    16./17. September 2021, online
Weitere IT-Trainings

  1. dirk@Inspiron-15-7000:~$ docker --version
  2. Docker version 19.03.12, build 48a66213fe

Visual Studio Code und WSL

Visual Studio Code ist derzeit eine der beliebtesten Entwicklungsumgebungen und soll wegen der gelungenen Docker- und WSL-Integration hier als Beispiel für die Arbeit im Container dienen. Die Installation ist nicht weiter schwierig und wird hier vernachlässigt.

Es empfiehlt sich, nach dem Start in VS Code ein Terminal zu öffnen (Terminal > New Terminal), und die resultierende Ausgabe zur Kenntnis zu nehmen.

  1. Microsoft Windows [Version 10.0.19041.508]
  2. (c) 2020 Microsoft Corporation. Alle Rechte vorbehalten.
  3.  
  4. C:\Users\Dirk>

VS Code arbeitet wenig überraschend im Windows-Dateisystem. Das wird sich aber bald ändern.

Mit der Extension Remote-WSL kann WSL als Entwicklungsumgebung direkt aus VS Code heraus genutzt werden.

  • In der Anwendung Windows-Features lässt sich WSL aktivieren. (Screenshot: Dirk Koller)
  • Der Microsoft Store listet verschiedene Linux-Distributionen. (Screenshot: Dirk Koller)
  • Beim Start von Ubuntu werden hilfreiche Informationen ausgegeben. (Screenshot: Dirk Koller)
  • Die Ausgabe von wsl -l verschafft einen Überblick über installierte Distributionen. (Screenshot: Dirk Koller)
  • Die Default-Distribution wird mit einem Asterisk markiert. (Screenshot: Dirk Koller)
  • An der Version kann man erkennen, ob die Distribution für WSL oder WLS2 vorliegt. (Screenshot: Dirk Koller)
  • WSL2 wird für die Zusammenarbeit mit Docker markiert. (Screenshot: Dirk Koller)
  • In den Docker-Einstellungen lassen sich Distributionen für die Zusammenarbeit auswählen. (Screenshot: Dirk Koller)
  • Die Remote-WSL-Erweiterung (Screenshot: Dirk Koller)
  • In der Status-Bar wird die Verbindung zu Ubuntu angezeigt. (Screenshot: Dirk Koller)
  • Die Docker-Erweiterung ermöglicht die Verwaltung der Container aus VS Code heraus. (Screenshot: Dirk Koller)
  • Die Erweiterung Remote-Containers bindet Docker Container als Arbeitsumgebung ein. (Screenshot: Dirk Koller)
Die Remote-WSL-Erweiterung (Screenshot: Dirk Koller)

Nach der Installation der Erweiterung wird die Default-Distribution gestartet und dort ein neuer Ordner angelegt:

  1. mkdir test
  2. cd test

Dieser neue Ordner lässt sich jetzt dank der Remote-WSL-Erweiterung leicht in VS Code in einem neuen Fenster öffnen:

  1. code .

Alternativ dazu kann man auch aus VS Code heraus mit Hilfe der Command Palette (Strg + Shift + P) die Verbindung zur Distribution anlegen, das Kommando lautet Remote-WSL: New Window using Distro. Ein erneuter Blick ins Terminal verrät, dass wir uns nun in dem neuen Ordner im Linux-Dateisystem befinden. Die Verbindung zu Ubuntu ist auch in der Status Bar am unteren Fensterrand ersichtlich, wo in der linken Ecke der Remote Host angezeigt wird.

  • In der Anwendung Windows-Features lässt sich WSL aktivieren. (Screenshot: Dirk Koller)
  • Der Microsoft Store listet verschiedene Linux-Distributionen. (Screenshot: Dirk Koller)
  • Beim Start von Ubuntu werden hilfreiche Informationen ausgegeben. (Screenshot: Dirk Koller)
  • Die Ausgabe von wsl -l verschafft einen Überblick über installierte Distributionen. (Screenshot: Dirk Koller)
  • Die Default-Distribution wird mit einem Asterisk markiert. (Screenshot: Dirk Koller)
  • An der Version kann man erkennen, ob die Distribution für WSL oder WLS2 vorliegt. (Screenshot: Dirk Koller)
  • WSL2 wird für die Zusammenarbeit mit Docker markiert. (Screenshot: Dirk Koller)
  • In den Docker-Einstellungen lassen sich Distributionen für die Zusammenarbeit auswählen. (Screenshot: Dirk Koller)
  • Die Remote-WSL-Erweiterung (Screenshot: Dirk Koller)
  • In der Status-Bar wird die Verbindung zu Ubuntu angezeigt. (Screenshot: Dirk Koller)
  • Die Docker-Erweiterung ermöglicht die Verwaltung der Container aus VS Code heraus. (Screenshot: Dirk Koller)
  • Die Erweiterung Remote-Containers bindet Docker Container als Arbeitsumgebung ein. (Screenshot: Dirk Koller)
In der Status-Bar wird die Verbindung zu Ubuntu angezeigt. (Screenshot: Dirk Koller)

Wir arbeiten nun also mit einer unter Windows laufenden IDE in einem virtualisierten Ubuntu-Filesystem. Das funktioniert, weil unter Ubuntu ein VS Code-Server installiert wurde, der mit dem VS Code-UI kommuniziert.

Im Verzeichnis .vscode-server findet man die zugehörigen Binaries und Daten. Sogar komplexe Features wie Debugging oder Code-Completion lassen sich dadurch in der Linux-Umgebung ohne Probleme verwenden.

Windows Subsystem for Linux 2 (WSL 2) Tips, Tricks, and Techniques: Maximise productivity of your Windows 10 development machine with custom workflows and configurations

Für viele Anwendungszwecke dürfte der bis hier beschriebene Weg vollkommen ausreichen. Ubuntu unter WSL lässt sich wie gewohnt mit sudo apt update und sudo apt upgrade auf den neuesten Stand bringen. Anschließend könnte man zum Beispiel Git installieren (sudo apt install git) und ein Projekt auschecken, das sich dann mit VS Code bearbeiten lässt.

Es geht aber noch virtueller, Ziel ist die Arbeit im Container. Dafür wird zunächst ein Docker-Image benötigt. Mittels File > New File legt man mit VS Code ein Dockerfile (eine Datei mit Namen Dockerfile ohne Endung) im Ubuntu-Dateisystem an.

Als Beispiel soll hier Node.js auf einem schlanken Alpine-Linux installiert werden. Das Dockerfile ist überschaubar:

  1. FROM node:14-alpine

Beim Speichern der Datei fragt VS Code, ob die Extension Docker für WSL:Ubuntu installiert werden soll. Mit ihr lassen sich unter Ubuntu Container-Anwendungen bauen, verwalten und deployen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
  • In der Anwendung Windows-Features lässt sich WSL aktivieren. (Screenshot: Dirk Koller)
  • Der Microsoft Store listet verschiedene Linux-Distributionen. (Screenshot: Dirk Koller)
  • Beim Start von Ubuntu werden hilfreiche Informationen ausgegeben. (Screenshot: Dirk Koller)
  • Die Ausgabe von wsl -l verschafft einen Überblick über installierte Distributionen. (Screenshot: Dirk Koller)
  • Die Default-Distribution wird mit einem Asterisk markiert. (Screenshot: Dirk Koller)
  • An der Version kann man erkennen, ob die Distribution für WSL oder WLS2 vorliegt. (Screenshot: Dirk Koller)
  • WSL2 wird für die Zusammenarbeit mit Docker markiert. (Screenshot: Dirk Koller)
  • In den Docker-Einstellungen lassen sich Distributionen für die Zusammenarbeit auswählen. (Screenshot: Dirk Koller)
  • Die Remote-WSL-Erweiterung (Screenshot: Dirk Koller)
  • In der Status-Bar wird die Verbindung zu Ubuntu angezeigt. (Screenshot: Dirk Koller)
  • Die Docker-Erweiterung ermöglicht die Verwaltung der Container aus VS Code heraus. (Screenshot: Dirk Koller)
  • Die Erweiterung Remote-Containers bindet Docker Container als Arbeitsumgebung ein. (Screenshot: Dirk Koller)
Die Docker-Erweiterung ermöglicht die Verwaltung der Container aus VS Code heraus. (Screenshot: Dirk Koller)
 Welche Linux-Distribution ist für Docker am besten?Container im Fernzugriff - und Fazit 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6.  


Aktuell auf der Startseite von Golem.de
Neues Betriebssystem von Microsoft
Wir probieren Windows 11 aus

Windows 11 ist bereits im Umlauf. Wir haben die Vorabversion ausprobiert und ein schickes OS durchstöbert. Im Kern ist es aber Windows 10.
Ein Hands-on von Oliver Nickel

Neues Betriebssystem von Microsoft: Wir probieren Windows 11 aus
Artikel
  1. Fußballmanager: Kalypso Media geht bei Anstoss 2022 vom Platz
    Fußballmanager
    Kalypso Media geht bei Anstoss 2022 vom Platz

    Seit Monaten keine Updates, die Community ist sauer. Nun verabschiedet sich Kalypso Media vom Kickstarter-finanzierten Anstoss 2022.

  2. Websicherheit: Wie KenFM von Anonymous gehackt wurde
    Websicherheit
    Wie KenFM von Anonymous gehackt wurde

    Die Webseite AnonLeaks berichtet, wie das Defacement von KenFM ablief: durch abrufbare Backupdaten und das Wordpress-Plugin Duplicator Pro.
    Von Hanno Böck

  3. Rückschau E3 2021: Galaktisch gute Spiele-Aussichten
    Rückschau E3 2021
    Galaktisch gute Spiele-Aussichten

    E3 2021 Es hat sich selten wie eine E3 angefühlt - dennoch haben Spiele- und Hardware-Ankündigungen Spaß gemacht. Meine persönlichen Highlights.
    Von Peter Steinlechner

torstenj 04. Nov 2020

Docker kann grundsätzlich fast jedes Filesystem. Insbesondere auch XFS. Warum...

torstenj 04. Nov 2020

Oder es ganz lassen Docker zu verwenden. Mit Podman und CRI-O kann man auch fast alles...

torstenj 04. Nov 2020

Bis jetzt nicht, aber auf Github kannst du verfolgen, was passiert.

LH 02. Nov 2020

Nicht wirklich, zumal WSL im Grunde auch nichts anderes macht. Vagrant und co. sind...


Folgen Sie uns
       


Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Schnäppchen • Dualsense Midnight Black + Ratchet & Clank Rift Apart 99,99€ • Saturn Super Sale (u. a. Samsung 65" QLED (2021) 1.294€) • MSI 27" FHD 144Hz 269€ • Razer Naga Pro Gaming-Maus 119,99€ • Apple iPad Pro 12,9" 256GB 909€ [Werbung]
    •  /