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

Installationsanleitung für WSL

In der WSL Bash

Script anlegen
nano 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