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. Softwareentwickler / Fachinformatiker für Automatisierungstechnik (m/w/d)
    3Tec automation GmbH u. Co. KG, Herford
  2. Senior Software / Data Base Engineer (m/w/d)
    Allianz Deutschland AG, Unterföhring
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. C++ Programmierung Basics: virtueller Fünf-Tage-Workshop
    17.–21. Januar 2022, virtuell
  2. PowerShell Praxisworkshop: virtueller Vier-Tage-Workshop
    20.–23. Dezember 2021, virtuell
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.  


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...



Aktuell auf der Startseite von Golem.de
Bundesservice Telekommunikation  
Ist eine scheinexistente Behörde für Wikipedia relevant?

Die IT-Sicherheitsexpertin Lilith Wittmann hat eine dubiose Bundesbehörde ohne Budget entdeckt. Reicht das für einen Wikipedia-Artikel?

Bundesservice Telekommunikation: Ist eine scheinexistente Behörde für Wikipedia relevant?
Artikel
  1. Elektroauto: VW e-Up ab Mitte Februar wieder bestellbar
    Elektroauto
    VW e-Up ab Mitte Februar wieder bestellbar

    Der e-Up gehörte 2021 zu den meistgekauften Elektroautos. Nun will VW den Kleinwagen wieder verfügbar machen.

  2. Bitcoin, Ethereum: Was steuerlich bei Kryptowährungen gilt
    Bitcoin, Ethereum
    Was steuerlich bei Kryptowährungen gilt

    Kryptowährungen wie Bitcoin sind unter Anlegern beliebt - doch wie muss man die Gewinne eigentlich versteuern?

  3. Neues Geschäftsmodell: Luca-App plant flexible Abos und will Preise senken
    Neues Geschäftsmodell
    Luca-App plant flexible Abos und will Preise senken

    Angesichts drohender Kündigungen will die Luca-App den Bundesländern entgegenkommen.

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
    Daily Deals • Bosch Professional zu Bestpreisen • WSV bei MediaMarkt • Asus Vivobook Flip 14" 8GB 512GB SSD 567€ • Philips OLED 65" Ambilight 1.699€ • RX 6900 16GB 1.489€ • Samsung QLED-TVs günstiger • Asus Gaming-Notebook 17“ R9 RTX3060 1.599€ • Seagate 20TB SATA HDD [Werbung]
    •  /