Als leichte Virtualisierungsplattform auf Basis der Containertechnologie wird Docker in verschiedenen Szenarien häufig eingesetzt. In einer Produktionsumgebung sind hohe Verfügbarkeit und automatische Fehlerbehebung von Containern von entscheidender Bedeutung. In diesem Artikel wird die Verwendung von Docker für die Wiederherstellung nach Containerfehlern und den automatischen Neustart vorgestellt, einschließlich spezifischer Codebeispiele.
1. Konfiguration des automatischen Container-Neustarts
In Docker kann die automatische Neustartfunktion des Containers aktiviert werden, indem beim Ausführen des Containers die Option --restart verwendet wird. Gängige Optionen sind:
docker run -d --restart always nginx
In diesem Beispiel starten wir einen Docker-Container mit dem Namen nginx und konfigurieren den Container auf „Immer“. automatisch über die Option --restart neu starten.
Es ist zu beachten, dass die Option --restart nur dann wirksam wird, wenn der Container aufgrund eines Fehlers beendet wird. Wenn ein Container manuell gestoppt wird, wird er nicht automatisch neu gestartet. Wenn Sie den automatischen Neustart auch nach dem manuellen Stoppen des Containers aktivieren möchten, können Sie die Option „sofern nicht gestoppt“ verwenden.
2. Konfiguration der Container-Fehlerwiederherstellung
In Docker bezieht sich die Container-Fehlerwiederherstellung normalerweise auf die Verwendung von Cluster-Management-Tools wie Docker Swarm, um Container automatisch neu zu planen, um die Serviceverfügbarkeit sicherzustellen. Hier ist ein Beispiel, das zeigt, wie automatisches Failover in Docker Swarm konfiguriert wird:
Erstellen Sie einen Docker Swarm-Cluster:In diesem Beispiel erstellen wir einen Dienst namens nginx und setzen seine Anzahl an Replikaten auf 3.
Fehlerwiederherstellung im Dienst aktivieren:Die hier angegebene Option --update-delay Die Verzögerung Zeit zwischen Aktualisierungsvorgängen; die Option --update-parallelism gibt die Anzahl gleichzeitiger Instanzen für jede Aktualisierung an; die Option --update-failure-action gibt die Aktion an, die ausgeführt werden soll, wenn die Aktualisierung fehlschlägt. Hier legen wir fest, dass der Container neu gestartet wird .
Es ist zu beachten, dass die Fehlerwiederherstellungsfunktion nur bei Verwendung von Cluster-Management-Tools wie Docker Swarm wirksam werden kann. Wenn Sie den Docker-Run-Befehl direkt verwenden, um den Container zu starten, können wir nur die Option --restart verwenden, um den Container automatisch neu zu starten.
3. Codebeispiel für die Wiederherstellung nach Containerfehlern und den automatischen Neustart
Das Folgende ist ein vollständiges Codebeispiel, das zeigt, wie die Wiederherstellung nach Containerfehlern und der automatische Neustart mithilfe der Option --restart und Clusterverwaltungstools wie Docker Swarm implementiert werden:
Erstellen Sie einen Docker Swarm-Cluster mit dem Namen docker-demo:Nach einer Weile warten, einen Container manuell stoppen:
Nach einer Weile warten, prüfen, ob der Container automatisch neu gestartet wird:
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Docker für die Wiederherstellung nach Containerfehlern und den automatischen Neustart. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!