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

Detaillierte Erklärung der CSS-Zeilenhöhe und -Höhe

Als ich kürzlich an CSS-Schnittstellen arbeitete,...

Vue3 Vue CLI-Konfiguration für mehrere Umgebungen

Inhaltsverzeichnis 1. Einleitung 2. Umschalten 1....

MySQL-Daemon konnte nicht gestartet werden – Fehlerlösung

MySQL-Daemon konnte nicht gestartet werden – Fehl...

Exquisiter Snake-Implementierungsprozess in JavaScript

Inhaltsverzeichnis 1. HTML-Struktur erstellen 2. ...

Beispielanalyse der Listen-Direktive in Nginx

Handlungsüberblick Im vorherigen Artikel haben wi...

So importieren Sie Excel-Dateien in eine MySQL-Datenbank

In diesem Artikel erfahren Sie, wie Sie Excel-Dat...

Anfänger lernen einige HTML-Tags (3)

Verwandte Artikel: Anfänger lernen einige HTML-Ta...

Sechs Möglichkeiten, die Größe von Docker-Images zu reduzieren

Seitdem ich 2017 mit der Arbeit an Vulhub begonne...

Beispielcode für CSS-Stacking und Z-Index

Kaskadierung und kaskadierende Ebenen HTML-Elemen...

Der Einsatz von MySQL Triggern und worauf zu achten ist

Inhaltsverzeichnis Über Trigger Verwendung von Tr...