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

So verwenden Sie Dayjs zum Berechnen gängiger Daten in Vue

Bei der Verwendung von Vue zur Entwicklung von Pr...

Tutorial zur Optimierung der Installationskonfiguration von MySQL 8.0.18

Die Installation, Konfiguration und Optimierung v...

Mehrere beliebte Website-Navigationsrichtungen in der Zukunft

<br />Dies ist nicht nur ein Zeitalter der I...

Tipps zum Erstellen zweidimensionaler Arrays in JavaScript

Erstellen eines zweidimensionalen Arrays in Js: Z...

JavaScript entfernt unnötige Eigenschaften eines Objekts

Inhaltsverzeichnis Beispiel Methode 1: Löschen Me...

So erstellen Sie einen Nginx-Image-Server mit Docker

Vorwort Bei der allgemeinen Entwicklung werden Bi...

Vue verwendet die Methode in der Referenzbibliothek mit Quellcode

Der offizielle Quellcode von monaco-editor-vue la...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.17 winx64

Ich habe die vorherigen Hinweise zur Installation...

Verwendung der Zabbix-API in einer Linux-Shell-Umgebung

Sie können es direkt in der Linux-Shell-Umgebung ...

Details zur Vue-Vorlagenkompilierung

Inhaltsverzeichnis 1. analysieren 1.1 Regeln für ...