Ich betreibe mehrere Dienste in Docker-Containern für mein Homelab und muss sie von ihren eigenen, unterschiedlichen IPs aus zugänglich machen. Auf meinem Hostsystem läuft Debian „Bullseye“.
Aus der Docker-Dokumentation geht hervor, dass die Verwendung eines Netzwerks im Bridge-Modus naheliegend ist macvlan
und die Standardmethode bei mir auch einwandfrei funktioniert.
Ich versuche jedoch, in meinem Netzwerk so wenig manuelle IPs wie möglich zu verwenden und lasse stattdessen fast alle IPs von meinem DHCP-Server zuweisen, auch für andere Server. Natürlich konfiguriere ich dann meinen DHCP so, dass er meinen Servern basierend auf den MAC-Adressen immer die gleichen IPs zuweist, aber auf diese Weise kann ich einen Server problemlos von einem Testnetzwerk in mein „Live“-Netzwerk verschieben, indem ich einfach die IP-Zuweisung im DHCP-Server ändere.
Ich möchte dies auch mit Docker-Containern tun können, d. h. Docker-Containern eine IP von DHCP im Netzwerk des Hosts zuweisen können.
Ich habe diesbezüglich keine Informationen in der Docker-Dokumentation gefunden unddiese offene Fragebei Serverfehler.
Aus meiner Sicht gibt es zwei mögliche Wege:
- (Manuell) eine Subschnittstelle auf dem Host mit dynamischer IP erstellen, dann ein
host
Netzwerk in Docker verwenden und es an die (manuell) erstellte Subschnittstelle binden? - Irgendwie muss ich ein
macvlan
Netzwerk verwenden. Ich weiß allerdings nicht, wie es konfiguriert werden muss, um DHCP-Zuweisungen zu erhalten.
Ich hätte gerne entweder einen Vorschlag für eine bessere, umsetzbare Lösung, Hilfestellung, wie ich auf Weg 2 weiterkomme oder die Bestätigung, dass Weg 1 der richtige Weg ist.
Antwort1
Schauen Sie sich dieses Projekt auf GitHub an. Docker-Netzwerktreiber für die Vernetzung auf einer Host-Bridge mit DHCP-zugewiesenen IP-Adressen