Nach dem Docker-Lauf ist der Status immer „Beendet“

Nach dem Docker-Lauf ist der Status immer „Beendet“

füge -it hinzu

docker run -it -name test -d nginx:latest /bin/bash

-d: Führen Sie den Container im Hintergrund aus und geben Sie die Container-ID zurück.

-i: Führen Sie den Container im interaktiven Modus aus, normalerweise mit -t verwendet;

-t: weist dem Container ein Pseudo-Eingabeterminal neu zu, wird normalerweise zusammen mit -i verwendet;

Zusatzwissen: docker-compose startet nginx per sh-Befehl und der Container wird automatisch mit dem Code 0 beendet

In der von Docker-Compose verwendeten Vorlagendatei wird der Container automatisch gestartet, indem der Befehl sh über den Einstiegspunkt oder den Befehlsparameter ausgeführt wird, um den Nginx-Dienst zu starten. Der Container wird jedoch automatisch beendet, nachdem Docker-Compose ausgeführt wurde.

nginx-web1 wurde mit Code 0 beendet

nginx-web2 wurde mit Code 0 beendet

nginx-web3 wurde mit Code 0 beendet

Grund: Der Mechanismus von Docker besteht darin, den Container im Hintergrund auszuführen. Es muss mindestens ein Vordergrundprozess vorhanden sein. Wenn der vom Container ausgeführte Befehl kein angehaltener Befehl ist (z. B. Ausführen von top, tail), wird er automatisch beendet.

Lösung: Sie können den Befehl sh mit dem Konfigurationselement -g „daemon off;“ verwenden, um den Nginx-Dienst im Vordergrundmodus zu starten.

nginx -c /usr/local/nginx/conf/nginx.conf -g "Daemon aus;"

Wenn der Container mehrere Prozesse gleichzeitig starten muss, verschieben Sie einfach einen davon in den Vordergrund, zum Beispiel:

Dienst php-fpm starten und nginx -g "Daemon aus;"

oder

Dienst php-fpm starten und Dienst nginx starten und tail -f /var/log/nginx/error.log

Der obige Artikel „Der Status lautet nach Docker-Ausführung immer „Beendet““ ist der gesamte Inhalt, den der Herausgeber mit Ihnen geteilt hat. Ich hoffe, er kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen.

Das könnte Sie auch interessieren:
  • Docker startet im Status „Beendet“
  • docker run -v mountet Datenvolumes abnormal und der Containerstatus wird immer neu gestartet
  • Eine kurze Diskussion zum Problem des Docker-Run-Containers im erstellten Status
  • Implementierung der Docker-Container-Statuskonvertierung
  • Zabbix überwacht den Status von Docker-Containern [empfohlen]
  • So überwachen Sie den Ausführungsstatus eines Docker-Container-Shell-Skripts

<<:  Beheben Sie das Problem, dass die Lese-/Schreibtrennung von MySQL dazu führt, dass Daten nach dem Einfügen nicht ausgewählt werden

>>:  Lösen Sie das Sprungproblem des mobilen Endgeräts (CSS-Übergang, Ziel-Pseudoklasse).

Artikel empfehlen

Gründe und Methoden zum Warten auf die Sperre der Tabellenmetadaten in MySQL

Wenn MySQL DDL-Operationen wie „Alter Table“ ausf...

CSS-Schreibformat, detaillierte Erklärung der Grundstruktur einer mobilen Seite

1. CSS-Schreibformat 1. Inline-Stile Sie können C...

Beispielcode für MySQL-Datensicherung und -wiederherstellung

1. Datensicherung 1. Verwenden Sie den Befehl mys...

Zusammenfassung der grundlegenden Verwendung von CSS3 @media

//Grammatik: @media Medientyp und | nicht | nur (...

So implementieren Sie mehrere Parameter in el-dropdown in ElementUI

Aufgrund der zunehmenden Anzahl von Schaltflächen...

element-ui Markieren Sie die Koordinatenpunkte nach dem Hochladen des Bildes

Was ist Element-UI element-ui ist eine auf Vue.js...

Tutorial zur HTML-Tabellenauszeichnung (2): Tabellenrahmenattribute BORDER

Standardmäßig beträgt der Rand der Tabelle 0 und ...

Detaillierte Erklärung des Pufferpools in MySQL

Jeder weiß, dass Daten in MySQL auf die Festplatt...

Ein kurzer Vortrag über den Diff-Algorithmus in Vue

Inhaltsverzeichnis Überblick Virtueller Dom Prinz...

JavaScript-Canvas zum Erzielen eines farbenfrohen Uhreffekts

Verwenden Sie Leinwand, um eine bunte Uhr zu schr...

Implementierungsschritte zum Erstellen mehrseitiger Programme mit Webpack

Es ist sehr üblich, webpack zum Erstellen einseit...