Docker für Windows
Pfui!
Docker Desktop setzt die Aktivierung der Virtualisierung im BIOS voraus. Damit kann schon mal keine Windows-VM vewendet werden. Zumindest nicht unter Proxmox. Bei Azure könnte es anders sein.
Wenn es unbedingt sein muss, dann bitte statt dem teuren 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. Die folgenden Schritte können daher entfallen.
wsl --set- default -version 2 |
Ob cmd oder mit dem Admin-Benutzer kann unterschiedlich sein. Je nachdem, ob der Webproxy gesetzt wurde
wsl -install |
wsl --list --online |
wsl --install -d <DistroName> |
Proxy in der WSL setzen wenn notwendig
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)
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!
sudo apt-get update; sudo apt-get dist-upgrade
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
sudo mkdir -p /etc/apt/keyrings
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] 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 usermod -aG docker $USER
Proxy muss gesetzt sein, wenn in internen Netz!
Remote WSL in VS Code installieren