Jump to content

Docker Fragen


Sky-Dragon

Recommended Posts

Hallo zusammen,

seit längeren habe ich schon Unraid auf den Radar und seit kurzen habe ich mich entschlossen es zu testen u.a. weil ich eigentlich (vorerst nur) einen kleinen Applikationsserver brauche, der mir meine (Docker-)Anwendungen bereitstellt. Leider erlaubt mir die aktuelle Ausstattung nicht aus, dass ich es auch als NAS einsetzen kann, naja kommt Zeit kommt Hardware ;-).

Somit sind bei mir noch einige Fragen offen, aber hier im Forum gibt es mehr als genug Antworten, was ich sehr an der Community von Unraid begrüße.

 

Meine aktuellen Fragen beziehen sich auf Docker, damit es damit richtig starten kann. Vorab, viel habe ich aktuell noch nicht mit Docker gemacht, die meisten Anwendungen sind per Bare-Metal Installation auf der Hardware/VM (wovon ich gerne mich trennen möchte), teilweise auch per Docker(-Compose) aber ohne große Modifikationen - per default quasi. Nun soll aber der Unraid weg erfolgen, damit ich auch die Bequemlichkeit auch habe.

 

Meine Vorstellung der Umgebung ist, dass ich die Anwendungen/Docker-Container von einander getrennt habe, aber mit Zentralen-Docker-Anwendungen dennoch Zugriff darauf habe (z.B. Adminer für DBs) - also die Docker Netzwerke.

Es sollen somit nur bestimmte Container vom Netzwerk (im Sinne von nicht nur Docker intern) (z.B. WebServer) erreichbar sein, optimalerweise per IP um das Portmapping zu vereinfachen, andere sollen im Netzwerk erreichbar sein.

Hier ein Beispiel:
image.png.763aad39f5a053554ec736fb292da884.png

 

Folgende Fragen habe ich dabei:

1) Netzwerk-Typ

Hier habe ich das Problem, wenn ich den Network Type von Bridge auf "Custom : br0" umstelle, bekommt der Container eine IP aus dem Netzwerk, ABER nicht von meinem DHCP Server sondern aufsteigend (vermutlich von Unraid/Docker). Dadurch bekommt der erste Container End IP 2, der zweite Container die 3 usw. aber in diesen Bereichen habe ich schon bereits meine anderen Geräte hängen.

Besteht die Möglichkeit, dass 

a) die MAC der Container immer gleich bleibt und die Verwaltung der IPs in meinem DHCP Server weiter verwalte

b) sollte das nicht möglich sein, kann ich das z.B. in den letzten Bereich meines Netzwerk umstellen (z.B. ab 200)

c) ist das Verhalten richtig?
 

Netzwerkeinstellungen: 

image.thumb.png.e1c73c2a9deb1350f6efb7798433c160.png

Docker Einstellungen:
image.thumb.png.389e99918cba2deddc983174a021b146.png

 

2) Erstellung weiteren Netzwerk-Typen

Wie es aussieht, können neue Netzwerke nur für die CLI (https://docs.docker.com/engine/reference/commandline/network_create/)erstellt werden können, bzw. in meinem Fall habe ich Portainer dafür bemüht.

a) Gibt es eine Möglichkeit diese auch über Unraid GUI direkt zu tätigen?

b) Wie kann ich die Netzwerk-Typen bearbeiten, z.B. IP Range ändern, Namen - ohne die zu löschen, neu anlegen und dann den Container neu zuzuordnen?

 

3) mehrere Netzwerke den Container zuordnen

Hier habe ich zwei Möglichkeiten gefunden

a) über Portainer, aber da frage ich mich, WO wird diese Einstellung den gespeichert? In den docker Einstellungen in der GUI von Unraid sehe ich diese nicht, somit muss es intern sein - vermute das dieses mit Frage 2 sich überschneidet.

b) über "Post Arguments" mit dem Argument "&& docker network connect NETZWERK_NAME CONTAINER_NAME"
Dadurch kann aber die Zeichenkette doch sehr lang werden, wenn mehrere Netzwerke zusammengeschlossen werden bzw. mal Änderungen gibt

 

4) Docker-Netzwerk zu einem VM-Maschine

In Zukunft ist angedacht eine virtuelle Firewall zu implementiere - optimalerweise auf den Unraid - kann da z.B. ein Docker-Netzwerk direkt/intern mit der FW-Netz/virtuellen Netzwerk-Port kommunizieren?

a) nur durch ein LAN-Verbindung - ansonsten muss ich einen Switch dazwischen klemmen, was auch kein Problem ist

b) das die Docker-Container NUR intern zur FW Kommunizieren (bessere Kontrolle was die Docker/VM macht), die FW dann entsprechend in das LAN

c) Leider habe ich im Netzwerk auch Home-Office Gerätschaften, die eine Konfiguration des Netzwerkes nicht zulassen + VPN Verbindung, somit würde ich diese gerne direkt über den Router laufen lassen (DHCP). Die alternative erfordert einiges an Telefonaten.
image.thumb.png.ae82792e409882f8f688d41bdf586e3a.png

 

Sry das der Text doch länger geworden ist, als zuerst angedacht! Vermute das einiges davon Docker-Anfänger Fragen sind, aber das ein oder andere ggf. doch spezifischer auf Unraid zurück zuführen ist.

 

PS Wie erwähnt bin in Sachen Unraid/Docker noch ein Anfänger, die "klassische/Unternehmens" Netzwerk-Umgebung ist ja kein Problem, aber das hier ist eine neue Hausaufgabe, zumal die Unraid Eigenschaften dazu kommen.

PPS wenn es andere Möglichkeiten gibt um meine Vorstellung zu erledigen, bin ich um jeden Vorschlag offen.

PPPS leider ist mein Router/DNS/DHCP Server so eine öde Kiste von meinem Provider wo ich wenig einstellen kann, quasi nur DHCP

 

Ich danke im Voraus.

 

Link to comment
6 hours ago, Sky-Dragon said:

Hier habe ich das Problem, wenn ich den Network Type von Bridge auf "Custom : br0" umstelle, bekommt der Container eine IP aus dem Netzwerk,

du kannst di IP auch einfach eintragen und "fix" vergeben, am Besten aus einem nicht DHCP Bereich deines Routers dann, Beispiel, mein Router hat DHCP 100 - 199, meine Docker in der custom:br0 liegen zwischen 60 - 99 (manuell fix vergeben).

 

6 hours ago, Sky-Dragon said:

a) die MAC der Container immer gleich bleibt und die Verwaltung der IPs in meinem DHCP Server weiter verwalte

 

ja, wenn du die Docker Netzwerkeinstellung IPVLAN anstelle macvlan wählst dann ist dem so ... aber Achtung, wenn du eine Fritz nutzt, haut Dir das die Geräte Zuweisung durcheinander da diese nicht in der custom:br0 damit umgehen kann (die gleiche mac auf verschiedene ip's), Dauer Thema aktuell ;)

 

zum Rest, ist mir dein Konstrukt nicht ganz klar und da will ich auch nichts weiter kommentieren, bevor da etwas falsch rüber kommt ... das verstehen andere evtl. besser und können dir bessere Tipps geben.

 

Bsp. Portainer ... ist jetzt eine weitere Docker Verwaltungsebene anstelle unraid ? das Anlegen der docker_1_bridge, docker_2_bridge, ... ist einmalig im CLI auszuführen und fertig, wie auch immer diese Trennung jetzt aussehen soll, mit der x.x.x.123 bist du ja immer im selben Netz, oder meinst du x.x.123.x ... das wäre zumindest ein separates subnet.

 

Bsp. Firewall ... auf dem Host einzurichten wo auch die Dienste dahinter dann laufen sollen ... wäre jetzt auch nicht meine erste Option, wer gewinnt den Start ? was passiert dann alles dahinter ? usw usw usw

 

wie gesagt, da können andere mehr dazu sagen ;)

Link to comment
18 hours ago, Sky-Dragon said:

ABER nicht von meinem DHCP Server

Steht bei dir Docker auf IPVLAN oder MACVLAN?

 

18 hours ago, Sky-Dragon said:

sollte das nicht möglich sein, kann ich das z.B. in den letzten Bereich meines Netzwerk umstellen (z.B. ab 200)

Die Range kann in den Docker Einstellungen hinterlegt werden.

 

18 hours ago, Sky-Dragon said:

Gibt es eine Möglichkeit diese auch über Unraid GUI direkt zu tätigen?

Nein

 

18 hours ago, Sky-Dragon said:

Wie kann ich die Netzwerk-Typen bearbeiten,

CLI

 

18 hours ago, Sky-Dragon said:

mehrere Netzwerke den Container zuordnen

CLI und sehen tut man das in der GUI nicht

 

18 hours ago, Sky-Dragon said:

über "Post Arguments" mit dem Argument "&& docker network connect NETZWERK_NAME CONTAINER_NAME"

Brauchst du nicht. Einmal erstellen und die Docker Einstellung für Custom Networks aktivieren. Dann bleiben sie auch nach einem Neustart erhalten. Allerdings auch nur solange das docker.img nicht neu aufgebaut wird. Ich würde es vermutlich verscripten, also prüfen ob da, wenn nein erstellen usw.

 

18 hours ago, Sky-Dragon said:

 

4) Docker-Netzwerk zu einem VM-Maschine

In Zukunft ist angedacht eine virtuelle Firewall zu implementiere - optimalerweise auf den Unraid - kann da z.B. ein Docker-Netzwerk direkt/intern mit der FW-Netz/virtuellen Netzwerk-Port kommunizieren?

Ich denke dein gesamtes Vorhaben ist zum Scheitern verurteilt, solange du nicht mit unterschiedlichen IP Ranges und VLANs arbeitest und dann explizite Routen in der Firewall erlaubst. Und dann alles auf einer Kiste... Ich denke damit hat man nur Stress. Bedenke, dass VM und Docker nur laufen, wenn das Array läuft. Da hast du immer wieder die Situation, dass nichts mehr läuft.

 

 

 

Link to comment

Hallo zusammen,

erstmal danke für die Tipps und Hinweise

14 hours ago, alturismo said:

du kannst di IP auch einfach eintragen und "fix" vergeben, am Besten aus einem nicht DHCP Bereich deines Routers dann, Beispiel, mein Router hat DHCP 100 - 199, meine Docker in der custom:br0 liegen zwischen 60 - 99 (manuell fix vergeben).

Dieses habe ich schon überlegt, wenn nichts anderes geht, wird fix vergeben.

 

2 hours ago, mgutt said:

Steht bei dir Docker auf IPVLAN oder MACVLAN?

14 hours ago, alturismo said:

wenn du die Docker Netzwerkeinstellung IPVLAN anstelle macvlan wählst dann ist dem so

Wie im Screenshot zusehen, aktuell auf MACVLAN, irgendwo hier im Forum habe ich gelesen, dass es besser sein sollte.
Könnt ihr mir sagen, was grob die unterschiede sind?

 

14 hours ago, alturismo said:

Bsp. Portainer ... ist jetzt eine weitere Docker Verwaltungsebene anstelle unraid ? das Anlegen der docker_1_bridge, docker_2_bridge, ... ist einmalig im CLI auszuführen und fertig, wie auch immer diese Trennung jetzt aussehen soll, mit der x.x.x.123 bist du ja immer im selben Netz, oder meinst du x.x.123.x ... das wäre zumindest ein separates subnet.

 

Portainer sollte eigentlich als "Erweiterung" und besseren Visualisierung dienen.

Die einzelnen Netzwerke/Anwendungen XYZ sollen intern (die Kästchen) über ein eigenes Klasse B Subnetz kommunizieren z.B: x.x.123.x/24 und der Webserver entsprechend aus meinem LAN 192.168.10.X erreichbar sein - somit in beiden Netzwerken hängen.

image.png.a69a910aebc94e305e6879de4bf8f677.png

 

Wie ich aber weiter merke, muss ich mich mit der Docker CLI und den Docker Netzwerken auseinander setzen.

 

Was Thema Firewall betrifft, habe ich heute morgen mir nochmal durch den Kopf gehen lassen und auch festgestellt das es wenig Sinn macht, mit den entsprechenden Argumenten, wie ihr das oben auch schon schreibt.

 

-------------

Somit kann ich folgendes vorerst für mein Vorhaben mitnehmen bzw. ausschließen:

  1. Firewall wird komplett anders organisiert, wird es, wenn es so weit ist, klassisch und wie es sich gehört auf ein eigenem Gerät installiert
  2. für die einzelnen Anwendungsgruppen
    1. die Netzwerk-Typen für CLI einrichten
    2. die Container damit verbinden
  3. die Verwaltungstools
    1. werden in die einzelnen Docker Netzwerken zugeordnet, damit diese die interne Dienste z.B. DB erreichen kann

 

 

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...