Docker-Grundlagen
Einführung in Docker-Container
Docker ist eine leistungsstarke Containerisierungstechnologie, die die Anwendungsbereitstellung und -verwaltung revolutioniert. Die Containertechnologie ermöglicht es Entwicklern, Anwendungen mit allen Abhängigkeiten zu verpacken und so eine konsistente Leistung in verschiedenen Computing-Umgebungen sicherzustellen.
Kernkonzepte von Docker
Docker-Container sind leichte, eigenständige, ausführbare Pakete, die alles enthalten, was zum Ausführen einer Anwendung benötigt wird. Sie bieten mehrere wichtige Vorteile:
Merkmal |
Beschreibung |
Isolation |
Container laufen unabhängig vom Hostsystem |
Portabilität |
Anwendungen können zwischen verschiedenen Umgebungen verschoben werden |
Effizienz |
Minimale Ressourcenverbrauchs im Vergleich zu traditionellen virtuellen Maschinen |
Docker-Architektur
graph TD
A[Docker Client] --> B[Docker Daemon]
B --> C[Container Runtime]
B --> D[Image Repository]
C --> E[Docker Container]
Installation unter Ubuntu 22.04
## Paketindex aktualisieren
sudo apt update
## Abhängigkeiten installieren
sudo apt install apt-transport-https ca-certificates curl software-properties-common
## Docker's offiziellen GPG-Schlüssel hinzufügen
curl -fsSL | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
## Stable-Repository einrichten
echo "deb [arch=amd64 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
## Ein Image ziehen
docker pull ubuntu:latest
## Images auflisten
docker images
## Einen Container starten
docker run -it ubuntu:latest /bin/bash
## Laufende Container auflisten
docker ps
## Einen Container stoppen
docker stop container_id
Erstellen einer einfachen Dockerfile
## Offizielle Ubuntu-Basis-Image verwenden
FROM ubuntu:22.04
## Arbeitsverzeichnis setzen
WORKDIR /app
## Python installieren
RUN apt-get update && apt-get install -y python3
## Anwendungsdateien kopieren
COPY . /app
## Standardbefehl definieren
CMD ["python3", "app.py"]
Container-Networking
Docker bietet mehrere Netzwerkmodi für Container, die eine flexible Kommunikation zwischen Containern und externen Netzwerken ermöglichen. Entwickler können Bridge-, Host- oder benutzerdefinierte Netzwerkkonfigurationen basierend auf spezifischen Anforderungen wählen.
Leistung und Ressourcenverwaltung
Docker-Container bieten eine effiziente Ressourcennutzung, indem sie den Kernel des Hostsystems teilen und einen minimalen Overhead benötigen. Sie verbrauchen im Vergleich zu traditionellen virtuellen Maschinen deutlich weniger Speicher und benötigen kürzere Startzeiten.