Grundlagen von Docker-Containern
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 portierbare Umgebung für Anwendungen auf verschiedenen Computing-Plattformen.
Hauptmerkmale von Docker-Containern
graph TD
A[Docker-Container] --> B[Isolation]
A --> C[Portabilität]
A --> D[Effizienz]
A --> E[Skalierbarkeit]
Merkmal |
Beschreibung |
Isolation |
Container laufen in isolierten Umgebungen |
Leichtgewichtig |
Minimale Ressourcenbeanspruchung |
Portabel |
Kann konsistent auf verschiedenen Systemen ausgeführt werden |
Skalierbar |
Einfache Skalierung nach oben oder unten |
Grundlegende Container-Operationen
Erstellen eines Containers
Um einen Docker-Container zu erstellen, können Sie den Befehl docker run
verwenden:
## Ziehen Sie ein Ubuntu-Image herunter
docker pull ubuntu:22.04
## Führen Sie einen Container aus dem Ubuntu-Image aus
docker run -it ubuntu:22.04 /bin/bash
Container-Zustände
Container können sich in verschiedenen Zuständen befinden:
stateDiagram-v2
[*] --> Created
Created --> Running
Running --> Paused
Running --> Stopped
Paused --> Running
Stopped --> [*]
Container auflisten
## Liste der laufenden Container
docker ps
## Liste aller Container (einschließlich gestoppter)
docker ps -a
Container-Lebenszyklusverwaltung
Container sind dafür konzipiert, flüchtig zu sein. Sie können einfach erstellt, gestartet, gestoppt, verschoben und gelöscht werden. Dieser Ansatz unterstützt Microservices-Architekturen und Continuous-Integration/Continuous-Deployment (CI/CD)-Workflows.
Best Practices
- Halten Sie Container klein und fokussiert
- Verwenden Sie nach Möglichkeit offizielle Images
- Vermeiden Sie die Ausführung von Containern als root
- Implementieren Sie eine korrekte Containerbereinigung
Lernen mit LabEx
Bei LabEx bieten wir praxisnahe Docker-Container-Management-Umgebungen, um Ihnen zu helfen, Containertechnologien effektiv zu üben und zu beherrschen.