Sichere Beendigung und Entfernung von Docker-Containern

DockerDockerBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Dieses Tutorial führt Sie durch den Prozess des sicheren Stoppens und der ordnungsgemäßen Entfernung von Docker-Containern. Ob Sie ein Anfänger oder ein erfahrener Docker-Benutzer sind, das Verständnis der Verwaltung des Lebenszyklus Ihrer Container ist entscheidend für die Aufrechterhaltung einer gesunden und effizienten containerisierten Umgebung. Wir werden die Schritte zum Beenden von Docker-Containern untersuchen und sicherstellen, dass Ihre Anwendungen reibungslos funktionieren.

Docker-Container verstehen

Docker ist eine beliebte Containerisierungsplattform, die Entwicklern ermöglicht, Anwendungen konsistent und reproduzierbar zu verpacken und bereitzustellen. Container sind leichte, eigenständige und selbsterhaltene Einheiten, die eine Anwendung und ihre Abhängigkeiten kapseln, wodurch die Anwendung einfach auf jedem System ausgeführt werden kann, auf dem Docker installiert ist.

Was sind Docker-Container?

Docker-Container werden aus Docker-Images erstellt, die im Wesentlichen Vorlagen sind, die den Inhalt des Containers definieren. Diese Images können von Grund auf oder basierend auf bestehenden Images erstellt werden, z. B. von der Docker-Community oder Ihrem eigenen Unternehmen.

Wenn Sie einen Docker-Container starten, wird eine neue Instanz der im Image definierten Anwendung erstellt. Jeder Container ist vom Host-System und anderen Containern isoliert, wodurch sichergestellt wird, dass die Anwendung konsistent und vorhersehbar läuft, unabhängig von der zugrunde liegenden Infrastruktur.

graph TD A[Docker Image] --> B[Docker Container] B --> C[Anwendung] B --> D[Abhängigkeiten] B --> E[Dateisystem]

Vorteile von Docker-Containern

Docker-Container bieten mehrere Vorteile, die sie zu einer beliebten Wahl für die Anwendungsbereitstellung und -entwicklung machen:

  1. Portabilität: Docker-Container können auf jedem System ausgeführt werden, auf dem Docker installiert ist, wodurch ein konsistentes Verhalten in verschiedenen Umgebungen sichergestellt wird.
  2. Skalierbarkeit: Docker-Container lassen sich leicht skalieren, wodurch Sie Ressourcen bedarfsgerecht anpassen können.
  3. Effizienz: Docker-Container sind leichtgewichtig und verbrauchen weniger Ressourcen als herkömmliche virtuelle Maschinen, wodurch sie effizienter zu betreiben sind.
  4. Konsistenz: Docker-Container stellen sicher, dass Anwendungen mit denselben Abhängigkeiten und Konfigurationen bereitgestellt werden, wodurch das Risiko von Problemen während der Bereitstellung reduziert wird.
  5. Isolation: Docker-Container sind vom Host-System und anderen Containern isoliert, was die Sicherheit verbessert und Konflikte zwischen Anwendungen verhindert.

Docker-Container im Einsatz

Um einen Docker-Container zu erstellen und auszuführen, können Sie den Befehl docker run verwenden. Um beispielsweise einen Ubuntu 22.04-Container auszuführen, können Sie den folgenden Befehl verwenden:

docker run -it ubuntu:22.04 /bin/bash

Dieser Befehl zieht das ubuntu:22.04-Image aus dem Docker Hub-Registry, erstellt einen neuen Container und startet eine interaktive Shell-Sitzung innerhalb des Containers.

Innerhalb des Containers können Sie Ihre Anwendung installieren und ausführen sowie ihre Abhängigkeiten und Konfiguration verwalten. Wenn Sie fertig sind, können Sie den Container beenden, indem Sie exit eingeben.

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.

Richtiges Entfernen von Docker-Containern

Nachdem Sie einen Docker-Container gestoppt haben, möchten Sie ihn möglicherweise von Ihrem System entfernen. Das korrekte Entfernen von Docker-Containern ist wichtig, um Systemressourcen freizugeben und eine saubere und organisierte Docker-Umgebung zu gewährleisten.

Entfernen eines einzelnen Containers

Um einen einzelnen Docker-Container zu entfernen, können Sie den Befehl docker rm verwenden. Dieser Befehl entfernt den angegebenen Container von Ihrem System.

docker rm <Containername_oder_ID>

Wenn der Container noch läuft, können Sie die Option -f oder --force verwenden, um das Entfernen des Containers zu erzwingen.

docker rm -f <Containername_oder_ID>

Entfernen mehrerer Container

Um mehrere Docker-Container gleichzeitig zu entfernen, können Sie dem Befehl docker rm eine Liste von Containernamen oder -IDs übergeben, die durch Leerzeichen getrennt sind.

docker rm <Container1_Name_oder_ID> <Container2_Name_oder_ID> <Container3_Name_oder_ID>

Entfernen von Containern mit Volumes

Wenn ein Container verbundene Volumes hat, entfernt der Befehl docker rm die Volumes standardmäßig nicht. Um den Container und seine Volumes zu entfernen, können Sie die Option -v oder --volumes verwenden.

docker rm -v <Containername_oder_ID>

Entfernen von Containern mit Images

Wenn Sie einen Container entfernen, wird das zugehörige Image nicht automatisch entfernt. Wenn Sie den Container und sein Image entfernen möchten, können Sie nach dem Entfernen des Containers den Befehl docker rmi verwenden.

docker rm <Containername_oder_ID>
docker rmi <Imagename_oder_ID>

Entfernen von hängenden Containern und Images

Im Laufe der Zeit können sich auf Ihrem System möglicherweise hängende Container und Images ansammeln (solche, die nicht mehr mit laufenden Containern verbunden sind). Um diese zu entfernen, können Sie die folgenden Befehle verwenden:

## Entfernen von hängenden Containern
docker container prune

## Entfernen von hängenden Images
docker image prune

Indem Sie diese Best Practices zum Entfernen von Docker-Containern befolgen, können Sie eine saubere und organisierte Docker-Umgebung pflegen, Systemressourcen freigeben und sicherstellen, dass Ihre Docker-Installation effizient und übersichtlich bleibt.

Zusammenfassung

Am Ende dieses Tutorials verfügen Sie über ein fundiertes Verständnis des sicheren Stoppens und Entfernens von Docker-Containern. Sie lernen die besten Praktiken zum Beenden von Docker-Containern kennen, um sicherzustellen, dass Ihre containerisierten Anwendungen ordnungsgemäß heruntergefahren werden und Ressourcen freigegeben werden. Mit diesem Wissen können Sie den Lebenszyklus Ihrer Docker-Container sicher verwalten und zur Gesamtstabilität und Effizienz Ihrer containerisierten Infrastruktur beitragen.