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.




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
sudo apt update && sudo apt upgrade -y
sudo apt install -y ca-certificates curl gnupg
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
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
echo '# Start Docker daemon automatically when logging in if not running.' >> ~/.bashrc
echo 'RUNNING=`ps aux | grep dockerd | grep -v grep`' >> ~/.bashrc
echo 'if [ -z "$RUNNING" ]; then' >> ~/.bashrc
echo '    sudo dockerd > /dev/null 2>&1 &' >> ~/.bashrc
echo '    disown' >> ~/.bashrc
echo 'fi' >> ~/.bashrc
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo usermod -aG docker $USER
sudo service docker start

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

sudo chmod a+x docker-install.sh
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