Lösen Sie das Problem, dass der Container nach dem Docker-Lauf „Beendet (0)“ anzeigt.

Lösen Sie das Problem, dass der Container nach dem Docker-Lauf „Beendet (0)“ anzeigt.

Ich habe ein Dockerfile für OpenResty auf CentOS7 erstellt und gebaut.

docker run -d -p 801:80 openresty:1.19 /usr/local/openresty/nginx/sbin/nginx

Danach zeigt docker ps -a folgendes an

CONTAINER-ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN 9dee2d04b3b5 openresty:1.19 "/usr/local/openrest…" vor 24 Sekunden Beendet (0) vor 7 Sekunden gifted_bhabha 69846af3baa7 redis:latest "docker-entrypoint.s…" vor 24 Minuten Aktiv vor 24 Minuten 0.0.0.0:6379->6379/tcp rds

Der OpenResty-Status wird als „Beendet (0)“ angezeigt.

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ösen:

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

Daher wird der Startbefehl wie folgt angepasst:

docker run -d -p 801:80 openresty:1.19 /usr/local/openresty/nginx/sbin/nginx -g "Daemon aus;"

Führen Sie docker ps -a erneut aus, um den Effekt zu sehen

CONTAINER-ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN 0291303ca61b openresty:1.19 "/usr/local/openrest…" vor 29 Sekunden Aktiv vor 28 Sekunden strange_curie 69846af3baa7 redis:latest "docker-entrypoint.s…" vor 26 Minuten Aktiv vor 26 Minuten 0.0.0.0:6379->6379/tcp rds

Ergänzung: Docker befindet sich beim Start immer im Exit-Zustand. Lösung

Docker befindet sich beim Start immer im Exit-Zustand

Problemumgehung

Schritt 1. Docker rm Container-ID zum Löschen des Containers

Schritt 2: Docker-RMI-Image-ID zum Löschen des Images (das Image kann nur gelöscht werden, nachdem zuerst der Container gelöscht wurde)

Schritt 3: docker build -t tomcat:centos . Container neu erstellen

Schritt 4. docker run --privileged -it -d --name tomcat01 -p 1216:8080 tomcat:centos (Berechtigungen hinzufügen und)

Geben Sie ein Pseudoterminal an)

Fehlerursache 1. Fehlende Berechtigungen 2. Es läuft kein Terminal

Hinweis: –privileged fügt Berechtigungen hinzu

-t gibt ein Pseudoterminal an

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:
  • Ein zeitaufwändiger Fehlerbehebungsprozess für einen Docker-Fehler
  • Docker kann keine Verbindung zum Docker-Daemon herstellen. Läuft der Docker-Daemon auf diesem Host? Fehlerlösung
  • Docker-Daemon kann nicht gestartet werden: stimmt nicht mit der gespeicherten UUID-Fehlerlösung überein
  • Lösung für mehrere Docker-Container, die nicht die gleiche Portnummer haben
  • Schritte für den Exit-Fehlercode des Docker-Containers

<<:  Beispielcode für kreisförmigen Hover-Effekt mit CSS-Übergängen

>>:  Implementierung von MySQL mit dem Befehl mysqlbinlog zum Wiederherstellen versehentlich gelöschter Daten

Artikel empfehlen

Mysql-Abfrageanweisung mit mehreren Bedingungen und dem Schlüsselwort „And“

MySQL-Abfrage mit mehreren Bedingungen und dem Sc...

Lösen Sie das Problem der Installation von Theano auf Ubuntu 19

Lösung: Ändern Sie die Datei setup.py direkt in d...

JavaScript implementiert Produktdetails der E-Commerce-Plattform

In diesem Artikel wird ein allgemeines Beispiel f...

Einfaches Schreiben von gespeicherten MySQL-Prozeduren und -Funktionen

Was ist eine gespeicherte Prozedur? Einfach ausge...

Diskussion zu Bildpfadproblemen in CSS (dasselbe Paket/anderes Paket)

In CSS-Dateien müssen Sie manchmal einen Hintergru...

Eine detaillierte Anleitung zu benutzerdefinierten Anweisungen in Vue

Inhaltsverzeichnis 1. Was ist eine benutzerdefini...

HTML-Tags: Sub-Tag und Sup-Tag

Heute stelle ich zwei HTML-Tags vor, die ich nich...

CSS3-Bézierkurven-Beispiel: Erstellen von Link-Hover-Animationseffekten

Wir verwenden animierte CSS3-Übergänge, um einen ...

So erstellen Sie ein Docker-Repository mit Nexus

Das mit dem offiziellen Docker-Register erstellte...

mysql 5.7.11 winx64 anfängliche Passwortänderung

Laden Sie die komprimierte Version von MySQL-5.7....

js, um die Rotation von Webseitenbildern zu realisieren

In diesem Artikel wird der spezifische Code von j...

URL-Rewrite-Modul 2.1 URL-Rewrite-Modul – Regeln schreiben

Inhaltsverzeichnis Voraussetzungen Einrichten ein...

So konfigurieren Sie den virtuellen Nginx-Host in CentOS 7.3

Experimentelle Umgebung Eine minimal installierte...