Skip to main content

Docker für Windows

Docker Desktop setzt die Aktivierung der Virtualisierung im BIOS voraus.

Warum Docker unter Windows installieren? Wenn es unbedingt sein muss, dann bitte statt dem lizenzpflichtigen Docker Desktop, die kostenlose Alternative Rancher Desktop verwenden! Eine weitere Alternative ist Docker in einer WSL-Umgebung zu installieren. Aber alle 3 Möglichkeiten sollten nie produktiv verwendet werden.

Ein Linux mit Docker ist immer noch die stabilste und einfachste Lösung.

Anleitung Docker mit WSL (Windows Subsystem Linux)

WSL Installieren und Linux Distro auswählen

Bei Windows 10 muss noch der WSL 2 als Standard gesetzt werden. Bei Windows 11 nicht mehr.

WSL ist seit neuestem im Mircosoft-Store erhältlich.




WSL ohne Admin-Rechte installieren

    Ubuntu-RootFS von Canonical von
    https://cloud-images.ubuntu.com/wsl/jammy/current/
    die Datei ubuntu-jammy-wsl-amd64-rootfs.tar.gz herunterladen WSL-Verzeichnis im Benutzer-Ordner anlegen
    mkdir ... Import des RootFS
    wsl --import Ubuntu2204 C:\Users\DeinBenutzername\WSL\Ubuntu2204 C:\Pfad\zu\ubuntu-jammy-wsl-amd64-rootfs.tar.gz
      Der erste Parameter ist der Name der Distribution Der zweite ist das Installationsverzeichnis Der dritte ist die tar.gz-Datei mit dem Root-Filesystem Ubuntu starten
      wsl -d Ubuntu2204
      cd /

      WSL Befehle

      wsl --shutdown

       

      Proxy in der WSL setzen, falls notwendig

      In der WSL

      export http_proxy=http://webproxy01.foo:8080
      export https_proxy=http://webproxy01.foo:8080
      export HTTP_PROXY=http://webproxy01.foo:8080
      export HTTPS_PROXY=http://webproxy01.foo:8080

      Proxy für APT setzen (permanent)

      In der WSL

      sudo vim /etc/apt/apt.conf.d/00proxy:
      Acquire::HTTP {
        Proxy "http://webproxy01.foo:8080";
      };
      Acquire::HTTPS {
        Proxy "http://webproxy01.foo:8080";
      };

      Docker in WSL installieren

      Proxy muss gesetzt sein wenn in internen Netz!

      In der WSL

      docker-install.sh
      #!/bin/bash
      # Paketquellen aktualisieren und benötigte Pakete installieren
      sudo apt update && sudo apt upgrade -y
      sudo apt install -y ca-certificates curl gnupg
      
      # Docker GPG-Schlüssel hinzufügen
      sudo install -m 0755 -d /etc/apt/keyrings
      curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo tee /etc/apt/keyrings/docker.asc > /dev/null
      sudo chmod a+r /etc/apt/keyrings/docker.asc
      
      # Docker-Repository hinzufügen
      echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
      
      # Docker installieren
      sudo apt update
      sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
      
      # Benutzer zur Docker-Gruppe hinzufügen (wirksam nach einem Neustart)
      sudo usermod -aG docker $USER
      
      # Automatischer Docker-Start in ~/.bashrc hinzufügen (falls noch nicht vorhanden)
      if ! grep -q "dockerd" ~/.bashrc; then
          echo '# Startet Docker automatisch in WSL, falls es nicht läuft' >> ~/.bashrc
          echo 'if ! pgrep -x "dockerd" > /dev/null; then' >> ~/.bashrc
          echo '    nohup sudo dockerd > /dev/null 2>&1 &' >> ~/.bashrc
          echo '    disown' >> ~/.bashrc
          echo 'fi' >> ~/.bashrc
      fi
      
      # WSL-Instanz automatisch neustarten
      echo "Docker wurde erfolgreich installiert. WSL wird jetzt neu gestartet..."
      wsl.exe --shutdown
      echo "Starte WSL manuell neu oder öffne ein neues Terminal."

      Dienst ggf. manuell starten (Init, statt systemd!)

      sudo chmod a+x docker-install.sh
      Visual Studio Code
      Um die Dateien besser editieren zu können ist Visual Studio Code empfehlenswert
      Damit VS Code auf WSL zugreifen kann, muss die folgende Erweiterung installiert werden. Anschließend VS Code neu starten.

      Remote WSL-Plugin in Visual Studio Code installieren

      WSL

       ohne Admin-Rechte installieren

        Ubuntu-RootFS von Canonical von
        https://cloud-images.ubuntu.com/wsl/jammy/current/
        die Datei ubuntu-jammy-wsl-amd64-rootfs.tar.gz herunterladen WSL-Verzeichnis erstellen in Benutzer-Ordner anlegen
        mkdir ... Import des RootFS
        wsl --import Ubuntu2204 C:\Users\DeinBenutzername\WSL\Ubuntu2204 C:\Pfad\zu\ubuntu-jammy-wsl-amd64-rootfs.tar.gz
          Der erste Parameter ist der Name der Distribution Der zweite ist das Installationsverzeichnis Der dritte ist die tar.gz-Datei mit dem Root-Filesystem Ubuntu starten
          wsl -d Ubuntu2204
          cd /