Zum Hauptinhalt springen

Verwalten und Anpassen von Containern

:::caution[Disclaimer]

Diese Seite wurde erstellt, um Benutzern aller Fähigkeitsstufen zu helfen, Docker-Container auf Unraid OS optimal zu nutzen. Die Tipps und Best Practices stammen vom Unraid-Team, das sicherstellt, dass sie auf die Bedürfnisse der meisten Benutzer zugeschnitten sind. Bedenken Sie jedoch, dass sich Docker ständig weiterentwickelt. Daher ist es immer eine gute Idee, die offizielle Docker-Dokumentation zu konsultieren, um die neuesten Funktionen, erweiterte Konfigurationen oder Problemlösungen zu finden, die über die Abdeckung von Unraid hinausgehen.

:::

Bevor Sie einen Docker-Container in Unraid anpassen, ist es hilfreich, die grundlegenden Konfigurationsoptionen zu verstehen. Jedes Containervorlage bietet eine benutzerfreundliche Oberfläche zur Einrichtung von Netzwerk, Speicher und Umgebungsvariablen, sodass Sie das Verhalten des Containers Ihren Bedürfnissen anpassen können, ohne komplexe Befehlszeilenwerkzeuge zu verwenden.

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 hat eine Einschränkung, die es verhindert, dass es an zwei Netzwerken teilnehmen kann, die dasselbe Subnetz teilen. Wenn Sie zwischen einer kabelgebundenen und einer drahtlosen Verbindung wechseln, müssen Sie Docker neu starten und alle vorhandenen Container neu konfigurieren, um das neue Interface zu nutzen. Diese Netzwerkkonfiguration erfordert eine Neukonfiguration der Container.

Container erstellen und starten

Sobald Sie das Netzwerk, die Volumen-Zuordnungen, die Port-Zuordnungen und die 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 Sie die Startreihenfolge und Abhängigkeiten verwalten und gibt Tipps für die 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 von anderen abhängig, um korrekt zu funktionieren. Beispielsweise könnte eine Anwendung zuerst einen Datenbankcontainer benötigen, oder ein Dienst könnte einen VPN-Container aktiviert haben müssen, bevor er startet.

Plan Ihren Start
  • 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 bietet Ihnen flexible Kontrolle darüber, welche Container automatisch und in welcher Reihenfolge starten. Dies ist besonders nützlich, wenn Sie Container haben, die von anderen abhängig sind (wie ein Datenbank- oder 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 Autostart-Container so schnell wie möglich in der Reihenfolge, in der sie auf der Docker-Registerkarte erscheinen. Sie können diese Reihenfolge anpassen und Wartezeiten zwischen den 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 die WebGUI einfach. Dieser Leitfaden erläutert die Verwendung des Kontextmenüs, das Verständnis von Container-Gesundheitsindikatoren und den Zugriff auf Volumen-Zuordnungen innerhalb Ihres Containers.

Um auf das Kontextmenü des Containers zuzugreifen, wechseln Sie zur Docker- oder Dashboard-Registerkarte und klicken auf das Container-Icon, das Sie verwalten möchten. Dieses Menü bietet einfachen Zugriff auf häufige Aktionen:

Docker-Leitfaden - Steuerung

OptionBeschreibung
WebUIÖffnet die Webschnittstelle des Containers in einem neuen Browser-Tab (falls verfügbar).
KonsoleÖffnet eine Kommandozeilenschnittstelle, um direkt mit dem Container zu interagieren.
StoppStoppt den laufenden Container.
PausePausiert den Container und hält vorübergehend alle Prozesse an.
NeustartStartet den Container neu und wendet alle Konfigurationsänderungen an.
ProtokolleZeigt die Protokollausgabe des Containers zur Fehlerbehebung an.
BearbeitenÄndern Sie die Container-Einstellungen, wie Port- oder Volumen-Zuordnungen. Änderungen werden sofort nach dem Speichern wirksam.
EntfernenLöscht den Container. Sie können auswählen, nur den Container zu entfernen oder auch dessen Image zu löschen.
ProjektseiteÖffnet die Projektseite des Containers für Dokumentation und Support.
SupportBietet Zugang zu Hilfs- und Unterstützungsressourcen für den Container.
Weitere InfosZeigt zusätzliche Informationen über den Container und seine 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 seine Gesundheitsprüfung nicht bestanden. Untersuchen Sie die Protokolle oder Container-Einstellungen für weitere Informationen.
  • Keine Gesundheitsprüfung: Dies bedeutet, dass keine Gesundheitsprüfung für den Container konfiguriert ist. Das ist bei vielen Apps üblich 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

Hier sind einige Beispiele für häufige Pfadzuordnungskonfigurationen, die Benutzer häufig benötigen, wenn sie Docker-Container einrichten. Sie zeigen, wie man zwischen dem Host-Dateisystem-Pfad von Unraid und den internen Pfaden des Containers übersetzt, um Anwendungen korrekt zu konfigurieren.

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

    Stellen Sie in der App den Speicherort Ihrer Medienbibliothek 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.

  • Multiple user shares: Host path: /mnt/user/media → Container path: /media
    Host path: /mnt/user/data → Container path: /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 nativ keine zeitgesteuerten Start- oder Stopp-Aktionen für Docker-Container, aber Sie können diesen Prozess ganz einfach mit dem User Scripts plugin automatisieren. Dieses leistungsstarke Tool ermöglicht es Ihnen, benutzerdefinierte Skripte nach einem Zeitplan auszuführen, sodass Sie Ihre Container automatisch steuern können.

Benutzerskripte-Plugin

Das User Scripts plugin ermöglicht es Ihnen, benutzerdefinierte Shell-Skripte direkt über die WebGUI zu erstellen, zu verwalten und zu planen. Sie können es für verschiedene Automatisierungsaufgaben verwenden, z. B. zum Starten oder Stoppen von Containern, zum Sichern von Daten oder zum 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 ein neues Skript für jeden einzigartigen Zeitplan. Sie können Befehle für mehrere Container in einem einzigen Skript einschließen, 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 eine flexible Planung über die integrierten Optionen hinaus. Beispielsweise führt 0 3 * * 1 Ihr Skript jeden Montag um 3:00 Uhr aus.

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.