Skip to main content

Docker Desktop for Windows mit WSL - Backend

Docker Desktop ist kostenpflichtig

1. WSL - Installation

Hypervisor aktivieren. Dieser ist für WSL zwingend notwendig. Installation siehe: https://docs.microsoft.com/de-de/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v

Es muss zuerst WSL installiert werden, bevor wir uns um Docker kümmern können.

  1. Powershell als Administrator ausführen

  2. WSL installieren

    wsl --install
  3. Distribution der Wahl installieren (bei Fehler Powershell erneut ohne Adminrechte öffnen)

    wsl --install -d <Distributions Name>
  4. WSL2 als Default setzen

    wsl --set-default-version 2
  5. einstellen, dass die Distribution immer mit WSL2 startet 

    wsl --set-version <Distributions Name> 2

     

     

2. WSL - Konfiguration

  1.  für Proxy - Einstellungen folgende Einträge in /etc/environment

    1. http_proxy=http://webproxy01.gisa.dmz:8080
      https_proxy=http://webproxy01.gisa.dmz:8080
      no_proxy="127.0.0.1,localhost,.lej.eis.network,.eis.network,10.0.0.0/8,192.168.0.0/16,194.113.76.29,194.113.76.251,217.242.214.197,172.28.119.15,.sit-gisa.intern"
    2. für apt Proxy extra eintragen in /etc/apt/apt.conf.d/proxy.conf

      Acquire::http::Proxy "http://webproxy01.gisa.dmz:8080";
    3. Linux update

      sudo apt update && sudo apt dist-upgrade

    3.  Docker - Installation

    Installationsdatei aus der offiziellen Docker - Webseite herunterladen und  ausführen Install Docker Desktop on Windows | Docker Documentation

    3.1. Lokale Benutzerverwaltung anpassen

    Damit die tägliche Arbeit leichter fällt, kann die lokale Benutzerverwaltung angepasst werden. Andernfalls sind fortlaufende Anmeldungen als Administrator und Wechsel zum Benutzerkonto notwendig.

    3.1.1. Microsoft Management Console (MMC) starten

    (Warnung) BEVOR die Installation mit "Close and log out" beendet wird, die Microsoft Management Console (MMC) mit Adminrechten starten:

    (ansonsten muss man sich zweimal an- und abmelden)

    image.png

3.1.2. Lokalen Computer in der MMC hinzufügen

Datei → Snap-In hinzufügen → Computerverwaltung → Hinzufügen → Lokaler Computer

image.png

3.1.3. Eigenen Benutzer in MMC berechtigen

Unter "Lokale Benutzer und Gruppen" → Unterordner Gruppen wählen, Detailansicht zur Rechten füllt sich, ua. mit docker users → Kontextmenü → Eigenschaften → Hinzufügen.

Als Objektnamen die Benutzerkennung eingeben, auf "Namen überprüfen" klicken und den enstprechenden User auswählen.

image.png

3.1.4. MMC schließen und Speichern

  • Fenster schließen
  • die Frage nach Speicherung unbedingt mit Ja beantworten und als Speicherort ein lokales Laufwerk und ein Verzeichnis wählen, auf das man selbst Berechtigungen hat (mmc wieder starten und mit selber Konfiguration weiter arbeiten)

3.2. Installation beenden

Die Docker-Installation mit "Close and log out" beenden. Danach wieder am Account anmelden.

Das Welcome-Fenster von Docker schließen.

image.png

3.3. Docker-Einstellungen vornehmen

Über die Taskleiste mit Rechtsklick auf das Docker-Symbol die Einstellungen öffnen.

image.png

Folgende Einstellungen vornehmen:

  • Proxy, am wichtigsten von allen, webproxy01.gisa.dmz:8080, Ausnahmen: 10.0.0.0/8,192.168.0.0/16,.lej.eis.network,.eis.network
  • Daemon: https://docker.lej.eis.network als Registry Mirror angeben – sorgt für Zugriff auf EXXETA-Docker-Images   (Warnung) kein Leerzeichen hinter Registry (Warnung)
    • Ab v19.03.8 soll die docker-registry im Docker Engine angegeben werden.

    • image.png

    • {
        "registry-mirrors": [
          "https://docker.foo.network"
        ],
        "insecure-registries": [],
        "debug": true,
        "experimental": false
      }

      image.png


      Danach muss Docker mit Apply neu gestartet werden.

      3.4. WSL - Integration

      1. Docker öffnen und auf Settings gehen
      2. zu Settings > Resources > WSL Integration gehen
      3. Häkchen setzen auf "Enable Integration with my default WSL distro"
      4. unter "Enable integration with additional distros" installierte Distros einschalten
      5. refresh drücken
      6. unten rechts auf den Button "Apply & Restart" klicken

      image.png

Docker Testen

  1. Powershell öffnen
  2. WSL öffnen

    wsl
  3. docker hello-world image herunterladen

    docker pull hello-world
  4. Image ausführen

    docker run hello-world

     

  5. image.png

    Docker wurde erfolgreich installiert  (Lächeln)

5. Visual Studio Code Einbindung

  1. Remote Development extension installieren in VSC Remote Development - Visual Studio Marketplace
  2. WSL starten

    sudo apt update
    sudo apt install wget ca-certificates
  3. nun in VSC unten links die grüne Ecke anklicken und auf New WSC Window drücken

6. Troubleshooting


"ANMELDUNG FEHLGESCHLAGEN: DER BENUTZER BESITZT NICHT DEN BENÖTIGTEN ANMELDETYP AUF DIESEM COMPUTER."

ein bestehender Bug, der bis jetzt noch nicht behoben wurde

über Powershell als Administrator Hyper-V Machine Management Service neu starten

powershell restart-service vmms


In diesem Github Issue sind noch weitere Möglichkeiten aufgelistet Hyper - V neuzustarten


"Windows Subsystem For Linux has no Installed Distributions"

Sollte die Distribution bereits installiert sein, aber beim Starten von WSL erscheint diese Fehlermeldung, so startet die Distribution evtl. nur mit WSL1. Folgender Befehl lässt die Distribution auf WSL2 starten:

wsl --set-version <Distributions Name> 2

Linux Distribution Installation schlägt fehl

ohne Admin - Rechte diesen Befehl ausführen

wsl --install -d Ubuntu


Namensauflösung schlägt fehl

Wenn WSL2 mit einem VPN gestartet wird, kann man sich nicht ins Internet verbinden, da die Namensauflösung fehlschlägt. Das liegt daran, dass WSL beim starten automatisch über /etc/resov.conf einen Default - Nameserver setzt.

Bitte diese Schritte befolgen, um den richtigen Nameserver zu setzen.