Docker-Grundlagen
Einführung in Docker-Grundlagen
Docker ist eine leistungsstarke Containerisierungsplattform, die die Softwareentwicklung und -bereitstellung revolutioniert. Als Containertechnologie ermöglicht Docker Entwicklern, Anwendungen mit allen Abhängigkeiten zu verpacken und so eine konsistente Leistung in verschiedenen Computernumgebungen sicherzustellen.
Kernkonzepte der Containerisierung
graph TD
A[Docker Image] --> B[Container]
A --> C[Dockerfile]
B --> D[Isolierte Laufzeitumgebung]
Konzept |
Beschreibung |
Docker Image |
Nur-Leseversion der Vorlage, die Anwendungscode und Abhängigkeiten enthält |
Container |
Leichte, ausführbare Instanz eines Images |
Dockerfile |
Textdatei, die die Schritte zur Erstellung des Images definiert |
Docker-Installation unter Ubuntu 22.04
## Systempakete aktualisieren
sudo apt update
## Erforderliche Abhängigkeiten installieren
sudo apt install apt-transport-https ca-certificates curl software-properties-common
## Offiziellen GPG-Schlüssel von Docker hinzufügen
curl -fsSL | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
## Docker-Repository einrichten
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
## Docker Engine installieren
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
Grundlegende Docker-Befehle
## Docker-Version überprüfen
## Image von Docker Hub ziehen
## Lokale Images auflisten
## Container starten
## Laufende Container auflisten
## Container stoppen
Verständnis der Docker-Architektur
Docker verwendet eine Client-Server-Architektur, bei der der Docker-Client mit dem Docker-Daemon kommuniziert, der Container, Images, Netzwerke und Speichervolumina verwaltet.
Containerlebenszyklusverwaltung
Container bieten eine isolierte, reproduzierbare Umgebung für Anwendungen. Sie können einfach erstellt, gestartet, gestoppt, verschoben und gelöscht werden und bieten eine beispiellose Flexibilität bei der Softwarebereitstellung.