Docker 2024 04
Schulung Docker 2024/04
In der folgenden Schulung soll ein grundlegendes Verständnis für die Containerisierung erworben werden.
Teilnehmer_innen sollen nach der Schulung in der Lage sein
- eigene Docker Images zu erstellen und diese mittels Docker Compose zu starten
- die bereitgestellten Ressourcen für Arbeitsspeicher und CPU Zeit zu modifizieren
- die Einsatzzwecke der verschiedenen Networking Modelle (insbesondere Bridged vs. Host Network) zu unterscheiden und diese gezielt anwenden können
- eine eigene Image Registry zu erstellen und dort Images ablegen und abrufen
Welche Bereiche werden explizit ausgeklammert:
- Limitierung von Netzwerkresourcen (siehe tc, Linux als Hostsystem erforderlich)
- Limitierung von Disk IO (siehe constraints, In der Theorie einfach, funktionierte aber nicht)
- Limitierung von Speicherplatz (siehe XFS, Linux als Hostsystem erforderlich)
Virtualisierung vs Docker
Grundsätzliche Funktionsweise von Docker und unterschied zu echter Virtualisierung
Images & Container
Parametrisierung: Umgebungsvariablen
Storage: Mounts und Volumes
Networking Überblick: Bridge vs Host Network
Networking Konfiguration: Portforwarding
Ressourcen Limitierung:
CPU
Network
IO
Mit Container verbinden
Dateien von/zu Host Kopieren
Interaktives Terminal verbinden
?Kommandos von Host in Container ausführen?
Docker-Compose
Würde ich generell docker run vorziehen, da übersichtlicher
Gemeinsames Fallbeispiel
Dockerfile
Eigenes Dockerfile auf Grundlage eines bestehenden Base Images erstellen
Dockerfile für eigene Anwendung erstellen
docker-compose für Service Verbund erstellen (z.b.: App + Datenbank)
?Registry?