📘 Definition
Docker ist eine Plattform zur Container-Virtualisierung, mit der Anwendungen samt ihrer Abhängigkeiten in standardisierte Einheiten – sogenannte Container – verpackt werden. Diese Container sind portabel, effizient und unabhängig von der Umgebung, in der sie ausgeführt werden.
🧭 Funktionen und Einsatzbereiche
- Containerisierung: Verpackung von Code, Bibliotheken und Konfigurationen in isolierte Umgebungen
- Portabilität: Container laufen konsistent auf verschiedenen Systemen
- Effizienz: Geringer Ressourcenverbrauch im Vergleich zu virtuellen Maschinen
- DevOps-Integration: Automatisierung von Build-, Test- und Deployment-Prozessen
- Microservices-Architektur: Unterstützung verteilter, modularer Softwarestrukturen
🧱 Komponenten
- Docker Engine: Laufzeitumgebung für Container
- Docker Images: Vorlage für Container, enthält Anwendung und Abhängigkeiten
- Dockerfile: Skript zur Erstellung eines Images
- Docker Hub: Öffentliche Registry für Images
- Docker Compose: Tool zur Definition und Verwaltung mehrerer Containerdienste
🔄 Vergleich: Docker vs. Virtuelle Maschinen
Merkmal |
Docker Container |
Virtuelle Maschine (VM) |
|---|---|---|
| Ressourcenverbrauch | Gering | Hoch |
| Startzeit | Sekunden | Minuten |
| Isolierung | Betriebssystem-Ebene | Hardware-Ebene |
| Portabilität | Hoch | Eingeschränkt |
🧠 Ursprung und Entwicklung
Docker basiert auf Technologien wie cgroups und Linux-Namespaces, die bereits im Linux-Kernel vorhanden waren. Seit der Veröffentlichung hat Docker die Container-Technologie standardisiert und vereinfacht. Es wird heute von Unternehmen wie Netflix, Adobe und Google eingesetzt.
📎 Beispielanwendung
# Dockerfile für eine einfache Python-App
FROM python:3.10
COPY app.py /app/app.py
CMD ["python", "/app/app.py"]
© 2025 MaDe-Online
