Projektszenario:
Die ursprüngliche Adresse
win11 installiert Ubuntu 222.04LST. WSL2-Debian startet Docker-Fehler (Daemon konnte nicht gestartet werden: Fehler beim Initialisieren des Netzwerkcontrollers: Fehler beim Abrufen ...)
Problembeschreibung
Tipps: sudo service docker start start log in /var/log/docker.log.
$ cat /var/log/docker.log
...
Sep 13 20:47:37 xxx dockerd: failed to start daemon: Error initializing network controller: error
obtaining controller instance: failed to create NAT chain DOCKER: iptables failed: iptables -t nat -N D
OCKER: iptables v1.4.21: can't initialize iptables table `nat': Table does not exist (do you need to ins
mod?)
Ursachenanalyse:
Es ist ersichtlich, dass es sich um ein Problem von iptables handelt. Dieses Problem wurde in seinem Github-Repository Nr. 1105 angesprochen . Glücklicherweise kann dieses Problem einfach gelöst werden.
Lösung:
- Ersetzen Sie zunächst iptables durch iptables-legacy:
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
- Aktivieren Sie die Paketweiterleitungsfunktion von IPv4:
sudo sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf`
- Beenden Sie Ubuntu 22.04 LST und starten Sie es neu.