Einführung
Docker hat die Softwarebereitstellung revolutioniert, indem es leichte, portablen Containerisierungslösungen bietet. Das Verständnis der Anzeige und Verwaltung Ihrer Docker-Container-Bestände ist für Entwickler und Systemadministratoren von entscheidender Bedeutung. Dieses Tutorial führt Sie durch verschiedene Methoden, um Docker-Container effektiv aufzulisten, zu untersuchen und zu verfolgen, und zwar in verschiedenen Szenarien.
Docker-Container-Übersicht
Was ist ein Docker-Container?
Ein Docker-Container ist ein leichtgewichtiges, eigenständiges, ausführbares Paket, das alles enthält, was zum Ausführen einer Software benötigt wird, einschließlich Code, Laufzeitumgebung, Systemtools, Bibliotheken und Einstellungen. Container bieten eine konsistente und reproduzierbare Umgebung für Anwendungen auf verschiedenen Computing-Plattformen.
Hauptmerkmale von Docker-Containern
Isolation
Container isolieren Anwendungen vom Host-System und anderen Containern, wodurch sichergestellt wird, dass jede Anwendung in ihrer eigenen Umgebung läuft, ohne andere zu beeinträchtigen.
graph TD
A[Host-Betriebssystem] --> B[Container 1]
A --> C[Container 2]
A --> D[Container 3]
Portabilität
Container können konsistent in verschiedenen Umgebungen von der Entwicklung bis zur Produktion ausgeführt werden, wodurch Probleme wie "funktioniert auf meinem Rechner" reduziert werden.
Effizienz
Container sind ressourceneffizienter als herkömmliche virtuelle Maschinen, da sie den Kernel des Host-Systems gemeinsam nutzen und weniger Overhead benötigen.
Container vs. virtuelle Maschine
| Merkmal | Docker-Container | Virtuelle Maschine |
|---|---|---|
| Ressourcenverbrauch | Leichtgewichtig | Schwer |
| Startzeit | Sekunden | Minuten |
| Isolationsniveau | Prozess-basiert | Vollständiges System |
| Leistung | Hoch | Gering |
Häufige Anwendungsfälle
- Microservices-Architektur
- Continuous Integration/Continuous Deployment (CI/CD)
- Cloud-native Anwendungsentwicklung
- Entwicklungs- und Testumgebungen
Grundlegendes Docker-Container-Workflow
graph LR
A[Docker-Image] --> B[Container erstellen]
B --> C[Container starten]
C --> D[Anwendung ausführen]
D --> E[Container stoppen]
E --> F[Container entfernen]
Erste Schritte mit LabEx
Für praxisnahes Lernen und praktische Erfahrungen mit Docker-Containern bietet LabEx interaktive Umgebungen und umfassende Tutorials, um Entwicklern zu helfen, Container-Technologien zu beherrschen.
Container-Bestandsanzeige
Grundlegende Befehle zur Auflistung von Docker-Containern
Liste der laufenden Container
Um die aktuell laufenden Container anzuzeigen, verwenden Sie den Befehl docker ps:
docker ps
Liste aller Container (einschließlich gestoppter)
Um alle Container anzuzeigen, einschließlich gestoppter:
docker ps -a
Erweiterte Techniken zur Container-Auflistung
Filterung von Containern
Docker bietet leistungsstarke Filteroptionen, um bestimmte Container anzuzeigen:
## Filter nach Status
docker ps -f "status=running"
## Filter nach Image
docker ps -f "ancestor=ubuntu:latest"
Benutzerdefinierte Ausgabeformatierung
Passen Sie die Containerliste mit bestimmten Spalten an:
docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Status}}"
Visualisierung des Container-Bestands
graph TD
A[Docker-Befehl] --> B{Auflistungstyp}
B --> |Laufende Container| C[docker ps]
B --> |Alle Container| D[docker ps -a]
B --> |Gefilterte Container| E[docker ps -f]
Detaillierte Containerinformationen
Inspektion eines bestimmten Containers
Rufen Sie detaillierte Informationen zu einem bestimmten Container ab:
docker inspect [CONTAINER_ID]
Container-Bestandsattribute
| Attribut | Beschreibung | Beispiel |
|---|---|---|
| CONTAINER-ID | Eindeutige Container-ID | a1b2c3d4e5f6 |
| IMAGE | Verwendetes Basis-Image | ubuntu:latest |
| COMMAND | Ausgeführter Befehl | /bin/bash |
| ERSTELLT | Zeit der Containererstellung | vor 2 Stunden |
| STATUS | Aktueller Container-Status | Aktiv seit 45 Minuten |
| PORTS | Exponierte Ports | 80/tcp |
| NAMES | Containername | friendly_newton |
LabEx Pro-Tipp
Bei der Arbeit mit Docker-Container-Beständen empfiehlt LabEx, diese Befehle in einer kontrollierten Umgebung zu üben, um die Muskel-Erinnerung und das Verständnis zu verbessern.
Praktische Szenarien
- Überwachung des Container-Lebenszyklus
- Fehlerbehebung bei Container-Bereitstellungen
- Verwaltung mehrerer Container-Umgebungen
- Prüfung von Container-Ressourcen
Container-Verwaltungstechniken
Container-Lebenszyklusverwaltung
Container starten
Starten Sie einen Container mit dem Befehl docker start:
docker start [CONTAINER_ID]
Container stoppen
Stoppen Sie einen laufenden Container ordnungsgemäß:
docker stop [CONTAINER_ID]
Container neu starten
Starten Sie einen Container mit einem einzigen Befehl neu:
docker restart [CONTAINER_ID]
Container-Lebenszyklus-Workflow
graph TD
A[Container erstellen] --> B[Container starten]
B --> C{Container-Status}
C --> |Läuft| D[Befehle ausführen]
C --> |Gestoppt| E[Neu starten/Entfernen]
D --> F[Container stoppen]
F --> G[Container entfernen]
Erweiterte Containerverwaltung
Interaktive Container-Ausführung
Starten Sie eine interaktive Shell innerhalb eines Containers:
docker run -it ubuntu:latest /bin/bash
Ausführen von Befehlen in laufenden Containern
Führen Sie Befehle in einem aktiven Container aus:
docker exec [CONTAINER_ID] command
Container-Ressourcenverwaltung
Begrenzung der Container-Ressourcen
Steuern Sie die CPU- und Speichernutzung:
docker run --cpus=2 --memory=1g ubuntu:latest
Überwachung der Ressourcenverwendung
Verfolgen Sie die Containerleistung:
docker stats [CONTAINER_ID]
Container-Verwaltungstechniken
| Technik | Befehl | Beschreibung |
|---|---|---|
| Erstellen | docker create | Container vorbereiten, ohne zu starten |
| Ausführen | docker run | Container erstellen und starten |
| Stoppen | docker stop | Container ordnungsgemäß stoppen |
| Entfernen | docker rm | Container löschen |
| Pausieren | docker pause | Container vorübergehend einfrieren |
Container-Netzwerk
Portweiterleitung
Exportieren Sie Container-Ports an den Host:
docker run -p 8080:80 nginx:latest
Erstellung benutzerdefinierter Netzwerke
Erstellen Sie isolierte Container-Netzwerke:
docker network create mynetwork
docker run --network=mynetwork nginx:latest
Container-Sicherung und -Migration
Erstellen eines Container-Snapshots
Generieren Sie ein Image aus einem laufenden Container:
docker commit [CONTAINER_ID] myimage:backup
Exportieren des Containers
Speichern Sie den Container-Zustand für die Migration:
docker export [CONTAINER_ID] > container.tar
LabEx-Empfehlung
LabEx empfiehlt, diese Techniken in einer kontrollierten, simulierten Umgebung zu üben, um praktische Fähigkeiten zu entwickeln.
Best Practices
- Verwenden Sie immer Ressourcenlimits.
- Implementieren Sie eine angemessene Containerüberwachung.
- Bereinigen Sie regelmäßig nicht verwendete Container.
- Verwenden Sie Versionskontrolle für Containerkonfigurationen.
- Implementieren Sie Sicherheits-Scans.
Zusammenfassung
Die Beherrschung der Docker-Container-Bestandsverwaltung ist unerlässlich für die Aufrechterhaltung einer robusten und effizienten containerisierten Umgebung. Durch die Nutzung von Docker-CLI-Befehlen und fortgeschrittenen Filtertechniken erhalten Sie umfassende Einblicke in Ihre laufenden und gestoppten Container, was eine bessere Ressourcenverwaltung und Systemüberwachung ermöglicht.



