Zum Hauptinhalt springen

Verwalten und Anpassen von Containern

Disclaimer

Diese Seite wurde erstellt, um Benutzern aller Fähigkeitsstufen zu helfen, das Beste aus Docker-Containern auf Unraid OS herauszuholen. Die Tipps und Best Practices stammen vom Unraid-Team, das sicherstellt, dass sie auf die Bedürfnisse der meisten Benutzer zugeschnitten sind. Beachten Sie jedoch, dass Docker ständig weiterentwickelt wird. Für die aktuellsten Funktionen, erweiterte Konfigurationen oder Problembehebungen, die über das hinausgehen, was Unraid abdeckt, ist es immer eine gute Idee, die offizielle Docker-Dokumentation zu konsultieren.

Bevor Sie einen Docker-Container in Unraid anpassen, ist es hilfreich, die grundlegenden Konfigurationsoptionen zu verstehen. Jede Container-Vorlage bietet eine benutzerfreundliche Oberfläche zur Einrichtung von Netzwerk, Speicher und Umgebungsvariablen, sodass Sie das Verhalten des Containers an Ihre Bedürfnisse anpassen können, ohne komplexe Befehlszeilen-Tools verwenden zu müssen.

Unraid unterstützt mehrere Docker-Netzwerkmodi. Der gewählte Netzwerktyp bestimmt, wie Ihr Container mit anderen Geräten und Containern kommuniziert:

  • Bridge (Standard): Der Container wird in ein internes Docker-Netzwerk eingebunden. Nur explizit zugewiesene Ports sind von Ihrem Unraid-Server oder LAN aus zugänglich. Dies ist die sicherste und gängigste Option für die meisten Anwendungen.

  • Host: Der Container teilt den Netzwerkstapel des Unraid-Servers. Es können beliebige verfügbare Ports verwendet werden, aber Sie müssen sicherstellen, dass keine Portkonflikte mit anderen Diensten entstehen. Verwenden Sie diesen Modus nur, wenn die Anwendung direkten Netzwerkzugriff benötigt.

  • None: Der Container hat keinen Netzwerkzugang. **Verwenden Sie dies für isolierte Arbeitslasten, die keine Netzwerkverbindung erfordern.

  • Benutzerdefiniert (macvlan/ipvlan): Der Container erhält eine eigene IP-Adresse in Ihrem LAN und erscheint als separates Gerät. Dies ist nützlich für fortgeschrittene Szenarien, kann jedoch zusätzliche Konfigurationen in Ihrer Netzwerkumgebung erfordern.

Hinweis

Der in der Container-Vorlage angegebene Standardnetzwerktyp wird für die meisten Benutzer empfohlen.

Wi-Fi und Docker-Netzwerkbeschränkungen

Docker has a limitation that prevents it from participating in two networks that share the same subnet. If you switch between a wired and a wireless connection, you will need to restart Docker and reconfigure all existing containers to use the new interface. This network configuration change requires container reconfiguration.

Container erstellen und starten

Sobald Sie das Netzwerk, die Volumenzuordnungen, Portzuordnungen und Umgebungsvariablen Ihres Containers konfiguriert haben, sind Sie bereit, Ihren Docker-Container zu erstellen und zu starten. Dieser Abschnitt führt Sie durch den Erstellungsprozess, erklärt, wie man die Startreihenfolge und Abhängigkeiten verwaltet, und bietet Tipps für eine erweiterte Startanpassung.

Container erstellen

Nachdem Sie Ihre Konfigurationseinstellungen in der Container-Vorlage überprüft haben:

  1. Klicken Sie auf Erstellen, um den Download zu starten und den Container einzurichten.
    • Vermeiden Sie es, Ihr Browserfenster zu schließen oder die Seite zu wechseln, bis der Prozess abgeschlossen ist.
    • Der erste Download eines neuen Repositories kann länger dauern als nachfolgende Downloads.
  2. Sobald der Prozess abgeschlossen ist, klicken Sie auf Fertig, um zur Docker-Seite zurückzukehren, wo Sie weitere Container verwalten oder hinzufügen können.

Startreihenfolge planen

Einige Container sind auf andere angewiesen, um korrekt zu funktionieren. Ein Beispiel dafür ist, dass eine Anwendung möglicherweise zuerst einen laufenden Datenbank-Container benötigt, oder ein Dienst einen aktiven VPN-Container, bevor er starten kann.

Plan Ihr Start-up
  • Identifizieren Sie Container, die grundlegende Dienste bieten (wie Datenbanken, VPNs oder Speichergateways).
  • Stellen Sie sicher, dass abhängige Container erst gestartet werden, nachdem ihre Voraussetzungen laufen und bereit sind.
  • Überprüfen Sie die Dokumentation für jeden Container, um spezifische Startanforderungen zu verstehen.

Erweiterter Container-Start

Unraid gibt Ihnen flexible Kontrolle darüber, welche Container automatisch starten und in welcher Reihenfolge dies geschieht. Dies ist besonders nützlich, wenn Sie Container haben, die von anderen abhängig sind (wie eine Datenbank oder ein VPN-Dienst).

Um sicherzustellen, dass ein Container automatisch startet, wenn das array startet:

  1. Gehen Sie auf der WebGUI-Karte zur Docker-Registerkarte.
  2. Schalten Sie den Automatisch-Starten-Schalter auf EIN für jeden Container, den Sie automatisch starten möchten.

Anpassung der Startreihenfolge und Verzögerungen

Standardmäßig startet Unraid alle Auto-Start-Container so schnell wie möglich in der Reihenfolge, wie sie auf dem Docker-Tab erscheinen. Sie können diese Reihenfolge anpassen und Wartezeiten zwischen Container-Starts hinzufügen:

  1. Auf der Docker-Registerkarte entsperren Sie die Container-Liste mit dem Vorhängeschloss-Symbol.
  2. Ziehen und ablegen, um die Reihenfolge der Container zu ändern.
  3. Wechseln Sie oben rechts mit dem Schalter zur Erweiterten Ansicht.
  4. Geben Sie in der AutoStart-Spalte eine Wartezeit (in Sekunden) in das Warte-Feld für alle Container ein, die zusätzliche Zeit benötigen, bevor der nächste startet.
    • Benutzen Sie Versuch und Irrtum, um die besten Wartezeiten für Ihr Setup zu bestimmen.
Hinweis

Das Festlegen der korrekten Reihenfolge und Wartezeiten ist besonders wichtig für Container, die von Diensten anderer abhängen (beispielsweise das Starten einer Datenbank vor einer App, die sie verwendet, oder eines VPN vor abhängigen Apps).

Testen Ihrer Startsequenz

Während Unraid keine spezielle "Test-Startsequenz"-Funktion besitzt, können Sie Ihre Startreihenfolge simulieren und überprüfen:

  1. Aus allen Containern von der Docker-Registerkarte stoppen.
  2. Starten Sie jeden Container manuell in der geplanten Reihenfolge mit dem Start-Knopf.
  3. Überwachen Sie die Containerprotokolle und das Anwendungsverhalten, um sicherzustellen, dass die Abhängigkeiten erfüllt sind und die Dienste wie erwartet initialisieren.
  4. Passen Sie bei Bedarf die Startreihenfolge oder die Wartezeiten an.
important

Testen Sie Ihre Startsequenz erneut, nachdem Sie Container-Abhängigkeiten geändert oder neue Dienste hinzugefügt haben, besonders wenn Ihr Setup auf einem bestimmten Startzeitpunkt basiert.


Ihre Container verwalten

Sobald Sie Ihren Docker-Container erstellt und gestartet haben, ist die Verwaltung über das WebGUI einfach. Diese Anleitung führt Sie durch die Verwendung des Kontextmenüs, das Verständnis von Container-Gesundheitsindikatoren und den Zugriff auf Volumenzuordnungen innerhalb Ihres Containers.

Um auf das Kontextmenü des Containers zuzugreifen, gehen Sie zum Docker- oder Dashboard-Tab und klicken Sie auf das Symbol des Containers, den Sie verwalten möchten. Dieses Menü bietet einfachen Zugriff auf gängige Aktionen:

Docker Guide - Controlling

OptionenBeschreibung
WebUIÖffnet die Weboberfläche des Containers in einem neuen Browser-Tab (falls verfügbar).
KonsoleÖffnet eine Kommandozeilenschnittstelle zur direkten Interaktion mit dem Container.
StoppenStoppt den laufenden Container.
PausePausiert den Container und stoppt alle Prozesse vorübergehend.
NeustartStartet den Container neu und wendet alle Konfigurationsänderungen an.
ProtokolleZeigt die Protokolle des Containers zur Problembehandlung an.
BearbeitenÄndern Sie die Containereinstellungen, wie Port- oder Volumenzuordnungen. Änderungen werden sofort nach dem Speichern übernommen.
EntfernenLöscht den Container. Sie können wählen, ob Sie nur den Container entfernen oder auch sein Image löschen möchten.
ProjektseiteÖffnet die Projektseite des Containers für Dokumentation und Unterstützung.
UnterstützungBietet Zugang zu Unterstützungsressourcen und Hilfe für den Container.
Mehr InfosZeigt zusätzliche Informationen über den Container und dessen Konfiguration an.

Gesundheitsindikator

Es befindet sich ein farbiger Gesundheitsindikator neben dem Symbol jedes Containers:

  • 🟢 Gesund: Zeigt an, dass der Container läuft und wie erwartet reagiert.
  • 🟡 Ungesund: Der Container läuft, hat aber seinen Gesundheitscheck nicht bestanden. Überprüfen Sie die Protokolle oder Containereinstellungen für weitere Informationen.
  • Kein Gesundheitscheck: Dies bedeutet, dass kein Gesundheitscheck für den Container konfiguriert ist. Das ist üblich für viele Apps und nicht unbedingt ein Problem.
notiz

Gesundheitschecks werden vom Container-Author definiert und müssen möglicherweise nicht für alle Images vorhanden sein.


Volume-Mappings innerhalb eines Containers

Beim Konfigurieren Ihrer Anwendung über ihre Weboberfläche beziehen Sie sich auf den Container-Pfad, den Sie während der Konfiguration eingerichtet haben - nicht den Host-Pfad.

Zum Beispiel, wenn Sie /mnt/user/media auf dem Host zu /unraid_media im Container zugeordnet haben, sollten Sie in den Einstellungen der Anwendung /unraid_media verwenden.

Beispielszenarien

Here are some examples showing common path mapping configurations that users frequently need when setting up Docker containers. They demonstrate how to translate between Unraid's host file system paths and the container's internal paths, helping you configure applications correctly.

  • Medienserver: Host-Pfad: /mnt/user/media
    Container-Pfad: /unraid_media

    Stellen Sie in der App den Speicherort Ihrer Mediathek auf /unraid_media ein.

  • Appdata-Speicher: Host-Pfad: /mnt/user/appdata/myapp
    Container-Pfad: /config

    Verwenden Sie in der App /config für die Konfigurationsspeicherung.

  • Mehrere user shares: Host-Pfad: /mnt/user/media → Container-Pfad: /media
    Host-Pfad: /mnt/user/data → Container-Pfad: /data

    Verweisen Sie in der Anwendung bei Bedarf auf /media oder /data.

Best Praxis

Verwenden Sie immer den restriktivsten Zugriffsmodus (nur lesen oder lesen/schreiben), der Ihren Container ordnungsgemäß funktionieren lässt.


Planung von Start und Stopp

Unraid unterstützt von Haus aus keine geplanten Start- oder Stopp-Aktionen für Docker-Container, aber Sie können diesen Prozess leicht mit dem User Scripts Plugin automatisieren. Dieses leistungsstarke Tool ermöglicht es Ihnen, benutzerdefinierte Skripte nach einem Zeitplan auszuführen, um eine automatische Steuerung Ihrer Container zu ermöglichen.

Benutzerskripte-Plugin

Das User Scripts Plugin ermöglicht es Ihnen, benutzerdefinierte Shell-Skripte direkt von der WebGUI aus zu erstellen, zu verwalten und zu planen. Sie können es für verschiedene Automatisierungsaufgaben verwenden, wie das Starten oder Stoppen von Containern, das Sichern von Daten oder das Ausführen von Wartungsroutinen.

  • Installieren Sie das Plugin über die Apps-Registerkarte, wenn Sie dies noch nicht getan haben.
  • Greifen Sie über Einstellungen → Benutzerskripte darauf zu, um Ihre Skripte zu erstellen und zu verwalten.

Um mehr über Plugins zu erfahren, schauen Sie sich Plugins an.

Planung von Containeraktionen

Um das Starten oder Stoppen Ihrer Container nach einem Zeitplan zu automatisieren:

  1. Installieren Sie das Benutzer-Skripte Plugin aus dem Apps-Tab.
  2. Navigieren Sie zu Einstellungen → Benutzer-Skripte.
  3. Erstellen Sie für jede einzigartige Planung ein neues Skript. Sie können Befehle für mehrere Container in einem einzigen Skript einfügen, wenn sie denselben Zeitplan teilen.
  4. Legen Sie den Zeitplan mit dem Dropdown-Menü fest oder verwenden Sie einen benutzerdefinierten cron-Ausdruck für komplexere Zeitoptionen.
  5. Klicken Sie auf Anwenden, um Ihr Skript zu speichern und zu aktivieren.
Hinweis

Cron-Ausdrücke ermöglichen flexible Planungen über die integrierten Optionen hinaus. Zum Beispiel wird 0 3 * * 1 Ihr Skript jeden Montag um 3:00 Uhr morgens ausführen.

Befehl Beispiele

Um einen Container zu starten, verwenden Sie den Befehl:

docker start "container-name"

Ersetzen Sie "container-name" durch den tatsächlichen Namen, wie er auf dem Docker-Tab angezeigt wird.

Hinweis

Sie finden den Containernamen auf dem Docker-Tab oder indem Sie den docker run-Befehl im Konfigurationsbildschirm des Containers anzeigen.