Sichere Beendigung von Docker-Containern
Wenn Sie einen laufenden Docker-Container beenden müssen, ist es wichtig, dies auf sichere und kontrollierte Weise zu tun, um potenzielle Probleme zu vermeiden. Docker bietet verschiedene Befehle und Optionen, um Container sauber zu beenden.
Beenden eines Containers
Um einen laufenden Docker-Container zu beenden, können Sie den Befehl docker stop
verwenden. Dieser Befehl sendet ein SIGTERM
-Signal an den primären Prozess des Containers, um ihm die Möglichkeit zu geben, alle notwendigen Bereinigungs- oder Abschaltvorgänge durchzuführen, bevor der Container beendet wird.
docker stop <Containername_oder_ID>
Standardmäßig wartet der Befehl docker stop
bis zu 10 Sekunden, bis der Container beendet ist. Wenn der Container innerhalb dieser Zeit nicht beendet wird, sendet Docker ein SIGKILL
-Signal, um den Container zwangsweise zu beenden.
Saubere Beendigung
Um dem Container mehr Zeit für eine saubere Beendigung zu geben, können Sie die Option -t
oder --time
mit dem Befehl docker stop
verwenden. Diese Option gibt die Anzahl der Sekunden an, die gewartet werden sollen, bevor das SIGKILL
-Signal gesendet wird.
docker stop -t 60 <Containername_oder_ID>
In diesem Beispiel wartet Docker bis zu 60 Sekunden, bis der Container beendet ist, bevor das SIGKILL
-Signal gesendet wird.
Beenden mehrerer Container
Wenn Sie mehrere Container gleichzeitig beenden müssen, können Sie den Befehl docker stop
mit einer Liste von Containernamen oder -IDs verwenden, die durch Leerzeichen getrennt sind.
docker stop <Container1_Name_oder_ID> <Container2_Name_oder_ID> <Container3_Name_oder_ID>
Dies beendet alle angegebenen Container in der angegebenen Reihenfolge.
Automatisches Beenden von Containern
Sie können Docker auch so konfigurieren, dass Container automatisch beendet werden, wenn das Hostsystem heruntergefahren oder neu gestartet wird. Dies kann durch Festlegen der Option --restart
beim Starten des Containers erfolgen.
docker run --restart=always <ImageName>
Die Option --restart=always
stellt sicher, dass der Container automatisch neu gestartet wird, wenn er aus irgendeinem Grund stoppt, einschließlich eines Herunterfahrens oder Neustarts des Systems.
Indem Sie diese Best Practices für das Beenden von Docker-Containern befolgen, können Sie sicherstellen, dass Ihre Anwendungen sauber beendet werden und das Risiko von Datenverlust oder anderen Problemen minimiert wird.