So überwachen Sie den Ausführungsstatus eines Docker-Container-Shell-Skripts

So überwachen Sie den Ausführungsstatus eines Docker-Container-Shell-Skripts

Szenario

Das Unternehmensprojekt wird in Docker bereitgestellt. Aus unbekannten Gründen stoppt der Container gelegentlich. Es ist erforderlich, ein Skript zu schreiben, um den Ausführungsstatus des Containers zu überwachen. Wenn der Container stoppt, starten Sie den Container erneut.

Shell-Skript

#!/bin/bash
# Übergeben Sie den Containernamen containerName=$1
aktuelleZeit=`Datum +"%J-%m-%d %H:%M:%S"`
# Überprüfen Sie, ob der Prozess existiert=`docker inspect --format '{{.State.Running}}' ${containerName}`
wenn [ "${exist}" != "true" ]; dann
 Docker starten ${ContainerName}
 # Aufzeichnen echo "${currTime} Docker-Container neu starten, Containername: ${containerName}" >> /mnt/xvde1/ms_ctynyd/scripts/wbwf_monitor.log
 
fi

Geplante Aufgaben crontab

crontab -e zum Bearbeiten geplanter Linux-Aufgaben

# Docker 8081-Container überwachen*/1 * * * * sh /mnt/xvde1/ms_ctynyd/scripts/wbwf_monitor.sh server_wbwf_wbwf-app_1
# Docker 7081-Container überwachen*/1 * * * * sh /mnt/xvde1/ms_ctynyd/scripts/wbwf_monitor.sh server_hb_hb-test-app_1

Ergänzung: Shell-Skript ermittelt, ob ein Dienst läuft

Shell-Skript zum Ermitteln, ob ein Dienst aktiviert ist

Das Skript lautet wie folgt:

#!/bin/bash
#Überprüfen Sie den Dienststatus, um zu sehen, ob er installiert ist. Lesen Sie -p "Bitte geben Sie den zu testenden Dienst ein:" SERVICE
grep $SERVICE &> /dev/null
wenn [ $? -eq 0 ]
Dann
  echo "$SERVICE-Dienst wurde gestartet!"
anders
  rpm -q $SERVICE &> /dev/null
 
  wenn [ $? -eq 0 ]
  Dann
 echo "Der Dienst $SERVICE wurde installiert und wird gestartet …"
    Dienst $SERVICE starten
  anders
 echo "Der Dienst ist nicht installiert!"
 fi
fi

Die Ergebnisse sind wie folgt:

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur.

Das könnte Sie auch interessieren:
  • Docker ermöglicht den nahtlosen Aufruf von Shell-Befehlen zwischen Container und Host
  • So führen Sie Linux-Shell-Befehle in Docker aus
  • Detaillierte Erläuterung der Startreihenfolge des Docker-Containers mithilfe eines Shell-Skripts
  • Führen Sie die Shell oder das Programm im Docker-Container auf dem Host aus.
  • Verwenden Sie Shell-Skripte, um Docker-Dienste stapelweise zu starten und zu stoppen
  • Shell-Skript erstellt Docker halbautomatische Kompilierungs-, Verpackungs- und Freigabeanwendungsvorgänge

<<:  Webentwicklungs-Tutorial: domänenübergreifende Lösung – detaillierte Erläuterung

>>:  Der Unterschied zwischen HTML-Block-Level-Tags und Inline-Tags

Artikel empfehlen

Vue + Element realisiert Paging-Effekt

In diesem Artikelbeispiel wird der spezifische Co...

Vue implementiert nahtloses Scrollen von Listen

In diesem Artikelbeispiel wird der spezifische Co...

Bestimmen Sie anhand von Beispielen, ob das MySQL-Update die Tabelle sperrt

Zwei Fälle: 1. Mit Index 2. Ohne Index Voraussetz...

Was tun, wenn der Auto-Increment-Primärschlüssel in MySQL aufgebraucht ist?

Im Vorstellungsgespräch sollten Sie folgende Szen...

Beispiel für die Bereitstellungsmethode „Forever+nginx“ einer Node-Site

Ich habe vor Kurzem den günstigsten Tencent-Cloud...

So fügen Sie MySQL Indizes hinzu

Hier ist eine kurze Einführung in Indizes: Der Zw...

JavaScript BOM erklärt

Inhaltsverzeichnis 1. BOM-Einführung 1. JavaScrip...

CSS3-Randeffekte

Was ist CSS? CSS (Abkürzung für Cascading Style S...

Der Unterschied zwischen schreibgeschützt und deaktiviert

Um es zusammenzufassen: „Nur lesen“ ist nur für Ei...

So zeigen Sie historische Befehle in Linux an und führen sie aus

Historische Befehle anzeigen und bestimmte Befehl...

So zeigen Sie laufende Hintergrundprogramme in Linux an und beenden sie

Linux-Taskverwaltung - Ausführung und Beendigung ...