Docker Container mit IP aus eigenem LAN betreiben

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.468
Punkte für Reaktionen
356
Punkte
103
Hier war schon mehrfach die Frage, wie man Container mit einer IP aus dem eigenen LAN betreiben kann.

Hier ist die Antwort: https://forum.synology.com/enu/viewtopic.php?f=258&t=136957&p=509619#p509499


Wichtig:
Auch wenn die Container eine IP aus eurem LAN haben, können diese NICHT mit der DSM kommunizieren, auf der sie betrieben werden. Dafür ist ein Sicherheitsmechanismus im Kernel verantwortlich.

Das angelegt Docker Netzwerk muss eine ip-range innerhalb eures Netzwerks verwenden, die NICHT von eurem lokalen DHCP-Server bedient wird. Das Netzwerk verwendet eine eigene IPAM DHCP-Strategie mit eigener Datenbank, die nichts mit der von eurem DHCP-Server zu tun hat! Eine Zusammenarbeit mit euren DHCP-Server ist nicht vorgesehen, wobei es wohl auch dort Bemühungen von Dritten gibt einen entsprechnden IPAM-Treiber für Docker zu implementieren.

Nur über die Kommandozeile könnt ihr eine statische IP als Parameter --ip mitgeben.
Über die UI wird eine IP aus der definierten ip-range automatisch vergeben, das kann bei einer Container-Neuerzeugung (=nach einem Image update) zur vergabe einer anderen IP führen.
 

immoteb

Benutzer
Mitglied seit
08. Mai 2013
Beiträge
89
Punkte für Reaktionen
0
Punkte
0
Danke, danach habe ich schon eine Zeit gesucht. Allerdings lege ich keinen Wert darauf dass die IP aus dem host Netzwerk kommt. Das wäre mir egal. Mir ist nur wichtig, dass sich die IP nicht ändert und dass ich alles per UI managen kann. Was macht bitte ein Container mit einem Dienst für einen Sinn, der die IP ändert?
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.468
Punkte für Reaktionen
356
Punkte
103
Im Normalfall (Network Bridged/Host) greift man über den Host auf den Container zu. Dann ist auch unerheblich welche konkrete IP ein Container intern verwendet.
Selbst bei Container-übergreifender Kommunikation (Compose/Swarm) kümmern man sich nicht um die IP, sondern verwendet Alias-Namen, mit denen ein Container von anderen erreibar ist.

Mit anderen Worten: wenn man Docker verwendet wie es gedacht ist, kann einem die IP einess Container egal sein.


Die macvlan-Variante ist die Einzige, bei der man die IP tatsächlich wissen muss, da der Container eben nicht mehr über den Host zu erreichen ist.
 

MI-6

Benutzer
Mitglied seit
10. Jul 2012
Beiträge
55
Punkte für Reaktionen
1
Punkte
8
Mit anderen Worten: wenn man Docker verwendet wie es gedacht ist, kann einem die IP einess Container egal sein.
Das hieße: Verwende Docker nicht für bspw. Pihole, da der dafür benötigte Standard-Port ja höchstwahrscheinlich bereits belegt ist?
 

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.246
Punkte für Reaktionen
912
Punkte
174
Jain. Die Lösung zu dem Problem wurde von haydibe bereits beschrieben.

Mal ausgehend von deinem pi-hole-Beispiel:
Wenn der Standardport für DNS bereits belegt ist, kann man auf ein macvlan zurückgreifen. Damit kannst du dann dem Container innerhalb deines regulären Netzwerkes eine eigene IP verpassen - vergleichbar einer "echten" virtuellen Maschine.
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat