Container-Autostart Docker bietet einen Neustartrichtlinienmechanismus, der steuern kann, dass der Container automatisch gestartet wird, wenn der Container beendet wird oder Docker neu gestartet wird. Diese Neustartrichtlinie stellt sicher, dass zusammengehörige Container in der richtigen Reihenfolge gestartet werden. Obwohl diese Aktion auch durch eine Prozessüberwachung (wie etwa systemd) erreicht werden kann, empfiehlt Docker dennoch, die Verwendung der Prozessüberwachung zum „Selbststarten“ von Containern zu vermeiden. Es gibt einen Unterschied zwischen der Neustartrichtlinie von Docker und dem Startflag --live-restore des Befehls dockerd: Das Flag --live-restore stellt sicher, dass der Container beim Upgrade von Docker weiter ausgeführt wird, die Netzwerk- und Benutzerterminaleingaben jedoch unterbrochen werden. Was genau ist also eine Neustartrichtlinie? Schauen wir uns die tatsächliche Situation an. Verwenden der Neustartrichtlinie Die Neustartrichtlinie wird durch das Flag --restart angegeben, wenn der Container mit docker run gestartet wird. Für dieses Flag stehen mehrere Werte zur Auswahl, und unterschiedliche Werte haben unterschiedliche Verhaltensweisen, wie in der folgenden Tabelle aufgeführt:
Beispiel: Der folgende Befehl startet einen Redis-Container. Wenn der Redis-Container gestoppt oder Docker neu gestartet wird, wird der Redis-Container neu gestartet. $ docker run -dit --restart, sofern nicht angehaltenes Redis Details zur Neustartrichtlinie Beim Einsatz von Neustartrichtlinien müssen Sie auf folgende Details achten: (1) Die Neustartrichtlinie wird erst wirksam, nachdem der Container erfolgreich gestartet wurde. „Erfolgreicher Start“ bedeutet hier, dass der Container seit mindestens 10 Sekunden aktiv ist und von Docker überwacht wird. Damit soll verhindert werden, dass Container, die nicht erfolgreich gestartet wurden, in eine Endlosschleife von Neustarts geraten. (2) Wenn Sie einen Container manuell stoppen (was ist der Unterschied zum expliziten Stoppen oben), wird die für den Container festgelegte Neustartrichtlinie ignoriert, sofern nicht der Docker-Daemon oder der Container manuell neu gestartet wird. Dadurch wird ein weiterer Teufelskreis vermieden. (3) Neustartrichtlinien können nur für Container verwendet werden. Für Swarm-Dienste haben Neustartrichtlinien ungültige Konfigurationen. Prozessüberwachung Wenn die oben genannten Neustartrichtlinien Ihren Anforderungen nicht entsprechen, können Sie auch Lösungen zur Prozessüberwachungsverwaltung verwenden, wie z. B. Upstart, Systemd oder Supervisor usw. Bei dieser Lösung läuft der Prozessüberwachungsdienst im Container. Es kann überwachen, ob ein Prozess ausgeführt wird, und den Prozess starten, wenn er nicht ausgeführt wird. Docker ist sich von all dem, was passiert, überhaupt nicht bewusst. Docker empfiehlt diese Methode nicht zur Prozessüberwachung. Der Grund ist einfach. Diese Methode hängt mit der Systemplattform und sogar der Linux-Distribution zusammen. Original: https://docs.docker.com/engine/admin/start-containers-automatically/#use-a-process-manager Docker-Container startet automatisch beim Booten Wenn Sie den Container mit Docker Run starten, verwenden Sie den Parameter --restart, um Folgendes festzulegen: # docker run -m 512m --memory-swap 1G -it -p 58080:8080 --restart=alway --name bvrfis --volumes-from logdata mytomcat:4.0 /root/run.sh --restart spezifische Parameterwertdetails:
Sie können auch angeben, wie oft Docker maximal versucht, den Container bei Verwendung der On-Failure-Strategie neu zu starten. Standardmäßig versucht Docker, Container immer wieder neu zu starten. # sudo docker run --restart=on-failure:10 redis Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Probleme und Lösungen für MYSQL5.7.17-Verbindungsfehler unter MAC
>>: JS implementiert Click-Drop-Effekt
emmm, der Name ist nur eine zufällige Vermutung 2...
Vorwort Bei der Frontend-Entwicklung stoßen wir h...
Docker wird in immer mehr Szenarien verwendet. Fü...
Beim Schreiben von Projekten stoßen wir häufig au...
In diesem Artikel wird der spezifische Code von j...
Obwohl das W3C einige Standards für HTML festgeleg...
Inhaltsverzeichnis Vorwort 1. Anwendungsbeispiele...
MySQL Master-Slave-Einrichtung Die Einstellungen ...
Inhaltsverzeichnis 1. Vorverarbeitung 2. Vorbehan...
Die verschiedenen HTML-Dokumente der Website sind...
1. Ubuntu Server 18.04.5 LTS-Systeminstallation U...
1. Docker installieren yum installiere Docker #St...
HTML besteht aus Tags und Attributen, die zusamme...
Inhaltsverzeichnis Einführung Anweisungen Tatsäch...
Inhaltsverzeichnis Variabler Typ und Speicherplat...