Docker-Container-Bestand anzeigen: Eine Anleitung

DockerDockerBeginner
Jetzt üben

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

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

  1. Microservices-Architektur
  2. Continuous Integration/Continuous Deployment (CI/CD)
  3. Cloud-native Anwendungsentwicklung
  4. 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

  1. Überwachung des Container-Lebenszyklus
  2. Fehlerbehebung bei Container-Bereitstellungen
  3. Verwaltung mehrerer Container-Umgebungen
  4. 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

  1. Verwenden Sie immer Ressourcenlimits.
  2. Implementieren Sie eine angemessene Containerüberwachung.
  3. Bereinigen Sie regelmäßig nicht verwendete Container.
  4. Verwenden Sie Versionskontrolle für Containerkonfigurationen.
  5. 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.