Grendor schrieb:
habs zuvor sehr vereinfacht dargestellt
Trotzdem muss es ja sinngemäß stimmen. Es ist schon schwer, das einfach und verständlich zu schreiben, damit nicht gleich die nächsten Fragezeichen auftauchen.
Grendor schrieb:
Was meinst du mit "Einstellen über die GUI"
Grendor schrieb:
händische Erstellen eines Containers
Es gibt eigentlich nur die Installation via CLI oder Compose. Das händische Erstellen eines Containers ist aber an der CLI grafisch angelegt, was du am Netzwerk, Namen oder einzelnen Containern erkennst. Alleine das Compose-File im Appordner gespeichert zu haben, ist ein Vorteil und erspart den Export der Container-Config über die GUI. Das kann man teilweise auch automatisiert machen, aber warum, wenn die aktuellste Container-Einstellung schon fertig zum sichern bereitliegt?
Grendor schrieb:
Der Sprung war allerdings etwas groß
Grendor schrieb:
Werde mich einfach mal weiter vorarbeiten.
Das passiert, wenn man auf einmal zu viel will. Es gibt noch sehr viele Optionen, die man sich erst einmal grob durchlesen sollte, wofür diese sind. Dann kann man entscheiden, ob man sie benötigt, weglassen oder abändern muss, um das Projekt starten zu können. Dafür wirst du noch ein paar Tage benötigen und die eine oder andere Frage haben. Aber der Aufwand lohnt sich und du verstehst, wie das System dahinter funktioniert und wo man bei Fehlern suchen könnte, im Gegensatz zu den OS, die diese Apps automatisch installieren. Es kann ja immer einmal vorkommen, dass eine Anpassung nötig ist. Solche fertigen Container zu installieren und dann zu behaupten, man kann Docker, halte ich für falsch. In den Jahren ist einiges einfacher geworden, was die Dokumentation angeht oder die Möglichkeit, einen Stack zu starten. Solange du nicht alle Einzelheiten verstanden hast, zählt das alles noch unter Testen. Vorsicht auch vor vielen Anleitungen und Videos im Internet: Selten sind diese ordentlich umgesetzt. Als Grundlage sollten immer die Originaldoku oder Compose-Files des Projektes dienen. Alles andere wäre wieder ein Abkürzen. Erst wenn du meinst, es ist so, wie du es dir vorstellst, machst du das System noch einmal platt und richtest es sauber ein.
Grendor schrieb:
Das ist aber erst etwas für Fortgeschrittene. Versuche nicht, zu viel auf einmal zu machen, sondern wenn ein Projekt läuft, löschst du es auch einmal, um wie bei einem Backup dieses neu zu erstellen, mit den alten Einstellungen und Daten. Das musst du alles einmal durchgespielt haben. Bei Immich kommt dann noch die Datenbank (Postgresql) dazu. Dort musst du einen Dump über einen Container oder manuell erstellen und diesen wieder herstellen können. Die eigentlichen Daten und Bezeichnungen sind unwichtig, sondern nur das, was in der Datenbank steht. Im Grunde ist das immer dasselbe, nur etwas anspruchsvoller und komplizierter. Ohne etwas Hintergrundwissen wird das aber nichts. Viele werfen einfach Immich als Begriff ein, ohne zu realisieren, wie kompliziert das für einen Anfänger sein kann und wo die Stolpersteine lauern. Nimm dir etwas Zeit für das Projekt. In 2–3 Stunden mal nebenbei als Anfänger einen NAS einzurichten wird nichts.
Grendor schrieb:
MacVlan muss ich mir wohl auch mal ansehen
Davon rate ich ausdrücklich ab. MACVLAN hat seine Eigenheiten und sollte nur im Notfall und unter bestimmten Voraussetzungen angewendet werden. Da gibt es so schlaue Videos von Navigio, die das gern einsetzen und sind wieder bei falschen Anleitungen und Videos. Es schafft mehr Probleme, als es nützt, in Bezug auf die Anwendung und Usability in den meisten Containern. Das größte dabei ist, dass MACVLAN nicht mit dem Hostsystem kommunizieren kann. Das ist aber kein Bug, sondern ein Sicherheitsfeature von MACVLAN. Man kann zwar ein weiteres Bridge zu diesem MACVLAN einbinden, um den Zugang zu realisieren, aber warum? Dann hebelt man die Sicherheit aus und macht MACVLAN überflüssig. Die Container sind im Docker-Bridge-, App-Bridge- oder im Host-Netzwerk schon gut aufgehoben. In Einzelfällen kann man auch auf MACVLAN zurückgreifen. Aber das ist eher etwas für Fortgeschrittene, die wissen, was sie machen. Anstatt jedem Container eine Netzwerkadresse zuzuweisen, ist es ratsam, jedem Container eine Subdomain über einen Reverse Proxy anzubieten. Das macht die Verwendung viel einfacher und müllt das Netzwerk nicht zu. Nebenbei kann man noch SSL nutzen. Docker sollte so genutzt werden, wie es auch hauptsächlich konzipiert wurde.
Grendor schrieb:
Wenn man sie in ein gemeinsames Netzwerk packt, schon,
Nein. Die Option
network_mode: bridge sorgt dafür, dass dieser Container im Docker-Bridge-Netzwerk landet. Dort ist die Kommunikation der Container untereinander unterbunden.
Grendor schrieb:
Bei Seafile waren jedenfalls mehrere Container involviert, die dann miteinander kommuniziert haben.
Hättest du die Doku gelesen und nicht einfach irgendwelche Comspose von Seafile übernommen, wüsstest du es.
Letztendlich solltest du jede Zeile in der Compose erklären oder zuordnen können. Wenn kein
network_mode: (Bridge oder Host) angegeben wird, erstellt Docker ein Bridgenetzwerk für den jeweiligen Stack. Dort dürfen sich die Container auch untereinander unterhalten und können mit den Hostnamen angesprochen werden. Natürlich kann man dem Netzwerk auch einen manuellen Namen mitgeben:
Code:
services:
seafile-app:
networks:
- seafile-net
networks:
seafile-net:
driver: bridge
name: seafile
Das Ganze ist aber nachher halb so wild. Du musst dich nur damit beschäftigen und vor allem nicht übertreiben und zu viel auf einmal wollen. Das wirft dich ansonsten wieder zurück. Versuche einfach, systematisch vorzugehen. Oft ist es einfach der Übereifer, etwas schnell zum Laufen zu bekommen. Das fällt einem aber früher oder später dann auf die Füße. Ich hatte schon User, die Containerverzeichnisse nicht richtig gemountet hatten und alle Daten nach einer Neuinstallation weg waren, die sie jahrelang gesammelt hatten. Wessen Schuld ist das Wohl? Bei einem Update wird der Container weggeworfen und kommt einer Neuinstallation gleich. Umso wichtiger ist es, dass alles passt! Für das automatische Updaten verwende ich Watchtower. Es hat schon seinen Grund, warum ich zur Vorsicht bei Anfängern mahne!