Lösen Sie das Problem, dass Docker-Container sofort nach dem Start beendet werden

Lösen Sie das Problem, dass Docker-Container sofort nach dem Start beendet werden

Kürzlich habe ich mir angesehen, wie Docker es Containern ermöglicht, bestimmte Prozesse direkt beim Start auszuführen. Später habe ich festgestellt, dass Dockerfile den Ausführungsbefehl für den Container angeben kann, wenn dieser gestartet wird.

CMD gibt an, aber jedes Dockerfile kann nur eine CMD-Anweisung haben. Wenn mehrere CMD-Anweisungen angegeben werden, wird nur die letzte ausgeführt.

Also habe ich mir eine Möglichkeit überlegt, ein Skript geschrieben, mehrere Prozesse im Skript gestartet und das Skript in Dockerfile ausgeführt.

Schließlich erwies sich diese Methode als durchführbar. Allerdings trat während des Experiments ein Problem auf. Der Container blieb sofort nach dem Start stehen.

Nach Einsichtnahme in die Informationen:

Ein Docker-Container kann jeweils nur einen Prozess verwalten. Wenn dieser Prozess beendet wird, wird auch der Container beendet. Dies bedeutet jedoch nicht, dass der Container nur einen Prozess ausführen kann (andere Prozesse können im Hintergrund ausgeführt werden). Damit der Container jedoch nicht beendet wird, muss ein Prozess im Vordergrund ausgeführt werden.

Lösung:

Der letzte Prozess im Skript muss im Vordergrundmodus ausgeführt werden, d. h. fügen Sie am Ende des Prozesses kein & hinzu (& bedeutet Ausführung im Hintergrund), da sonst der Container beendet wird.

Zusatzwissen: Probleme und Lösungen bei der Nutzung von gdbserver in einem Docker-Container

Ich habe ein Problem bei der Verwendung von gdbserver in einem Docker-Container

linux_ptrace_test_ret_to_nx: PTRACE_TRACEME kann nicht ausgeführt werden: Vorgang nicht zulässig

Der Grund dafür ist, dass Docker die PTRACE-Funktion standardmäßig deaktiviert und aktiviert werden muss, wenn der Container ausgeführt wird.

docker run -ti --cap-add=SYS_PTRACE ubuntu

Der obige Artikel zur Lösung des Problems, dass Docker-Container unmittelbar nach dem Start beendet werden, ist der gesamte Inhalt, den der Herausgeber mit Ihnen teilt. Ich hoffe, er kann Ihnen als Referenz dienen, und ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen.

Das könnte Sie auch interessieren:
  • Jedes Mal, wenn Docker einen Container startet, werden die IP und die Hosts mit den angegebenen Operationen
  • Detaillierte Erläuterung der Startreihenfolge des Docker-Containers mithilfe eines Shell-Skripts
  • Docker ändert die Konfigurationsinformationen eines nicht gestarteten Containers
  • Dockerfile-Implementierungscode beim Starten von zwei Prozessen in einem Docker-Container
  • Docker-Dateispeicherpfad, Befehlsvorgang zum Starten des Containers abrufen
  • Docker-Batch starten und alle Container schließen

<<:  Document Object Model (DOM) in JavaScript

>>:  Einführung in HTML DOM_PowerNode Java Academy

Artikel empfehlen

Mehrere Möglichkeiten zum Sichern einer MySql-Datenbank

mysqldump-Tool-Sicherung Sichern Sie die gesamte ...

Uniapp realisiert gleitenden Scoring-Effekt

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

Lösen Sie das Problem der unsicheren Docker x509-Registrierung

Nach der Installation von Docker trat beim Versuc...

MySql-Entwicklung einer automatischen Synchronisierungstabellenstruktur

Schwachstellen bei der Entwicklung Während des En...

jQuery implementiert das Ausblenden und Anzeigen von HTML-Elementen

Lassen Sie uns die Funktion von Taobao nachahmen,...

Implementierung der vertikalen Zentrierung mit unbekannter Höhe in CSS

Dieser Artikel stellt hauptsächlich die Implement...

Analyse der Schwierigkeiten im Hot-Standby der MySQL-Datenbank

Ich habe Ihnen zuvor die Konfigurationsmethode fü...

Probleme und Vorsichtsmaßnahmen beim Festlegen von maxPostSize für Tomcat

1. Warum maxPostSize festlegen? Der Tomcat-Contai...

Mit CSS3 implementierte Schaltfläche zum Hovern von Bildern

Ergebnis:Implementierungscode html <ul Klasse=...

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

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

Docker-Cross-Server-Kommunikations-Overlay-Lösung (Teil 1) Consul-Einzelinstanz

Inhaltsverzeichnis Szenario Aufgabe Idee analysie...