Schulungsübersicht
Einleitung
- Einführung in fortgeschrittene Docker-Konzepte und Workflows
- Wiederholung der Containerisierungsprinzipien und Anwendungsfälle
- Docker-Begriffswelt und Kernelemente
- Übersicht über die Kursziele und die praktische Umgebung
Übersicht über Docker-Funktionen und Architektur
- Docker Engine und ihre Komponenten
- Docker-Client, Daemon, Images, Container und Registries
- Docker-Architektur und Container-Lebenszyklus
- Docker Hub und private Registries
- Docker-CLI-Grundlagen für fortgeschrittene Anwender
- Verwaltung von Docker-Ressourcen und Konfigurationen
Docker einrichten
- Installation der Docker Community Edition
- Konfiguration der Docker-Umgebung
- Prüfung der Docker-Installation
- Konfiguration von Docker für Entwicklung und Test
- Verwaltung von Docker-Konfigurationen und Speicherung
- Einführung in die Fehlerbehebung der Docker-Umgebung
Eigene Docker-Images erstellen
- Verständnis von Docker-Images und Ebenen
- Schreiben effektiver Dockerfiles
- Dockerfile-Anweisungen und bewährte Praktiken
- Verwaltung des Build-Kontexts
- Ausführen und Taggen von Images
- Nutzung von
.dockerignore - Optimierung der Image-Größe und der Build-Leistung
- Verwaltung von Image-Versionen und Tags
- Mehrstufige Docker-Builds
- Veröffentlichung von Images in einer Container-Registry
Ausführen von Multi-Container-Docker-Anwendungen mit Docker Compose
- Einführung in Docker Compose
- Definition von Diensten mit Compose-Dateien
- Konfiguration von Netzen und Volumes
- Verwaltung von Umgebungsvariablen
- Dienstabhängigkeiten und Startreihenfolge
- Ausführen und Skalieren mehrerer Dienste
- Erstellen von Anwendungs-Images mit Compose
- Verwaltung der Anwendungskonfiguration
- Fehlerbehebung bei Multi-Container-Anwendungen
- Bewährte Praktiken für Compose
Die Herausforderungen beim Bereitstellen vieler Docker-Anwendungen
- Verwaltung von Containern über mehrere Hosts hinweg
- Skalierung und Verfügbarkeit von Anwendungen
- Dienstentdeckung
- Lastverteilung
- Verwaltung von Konfigurationen und Secrets
- Herausforderungen bei der persistenten Speicherung
- Überwachung und Protokollierung im großen Maßstab
- Rollende Updates und Anwendungsbereitstellung
- Wiederherstellung von Container- und Host-Fehlern
Wie Container-Orchestrierung Ihnen hilft, die Kontrolle zu behalten
- Einführung in die Container-Orchestrierung
- Vorteile und Grenzen der Orchestrierung
- Vergleich von Docker Swarm, Kubernetes und anderen Lösungen
- Planung und Workload-Verwaltung
- Dienstentdeckung und Netzwerk
- Skalierung und Selbstheilung von Anwendungen
- Rollende Bereitstellungen und Rollbacks
- Resourcenverwaltung und Workload-Isolierung
- Auswahl einer geeigneten Orchestrierungsplattform
Kubernetes in der Praxis
- Kubernetes-Architektur und Kernelemente
- Pods, Nodes und Cluster
- Bereitstellungen und ReplicaSets
- Dienste und Dienstentdeckung
- ConfigMaps und Secrets
- Namespaces und Ressourcenorganisation
- Skalierung von Anwendungen
- Rollende Updates und Rollbacks
- Grundlagen der Kubernetes-Netzwerktechnik
- Persistenter Speicher
- Health-Checks und Anwendungsresilienz
- Bereitstellung von Docker-Anwendungen in Kubernetes
- Fehlerbehebung bei Kubernetes-Workloads
Fortgeschrittene Docker-Netzwerke
- Docker-Netzwerkarchitektur
- Bridge-, Host-, Overlay- und andere Netzwerk-Treiber
- Kommunikation zwischen Containern
- Kommunikation zwischen Containern und externen Systemen
- Eigene Docker-Netzwerke
- Netzwerkisolierung
- Dienstentdeckung
- Veröffentlichung und Offenlegung von Ports
- Netzwerktechnik in Multi-Host-Umgebungen
- Fehlerbehebung bei Docker-Netzwerken
Docker-Sicherheit
- Grundlagen der Docker-Sicherheit
- Container-Isolierung und Sicherheitsgrenzen
- Ausführen von Containern mit entsprechenden Rechten
- Verwaltung von Benutzern und Berechtigungen in Containern
- Linux-Fähigkeiten und Sicherheitskontrollen
- Absicherung von Docker-Images
- Scannen von Images auf Schwachstellen
- Sichere Verwaltung von Secrets
- Absicherung von Docker-Registries
- Netzwerksicherheit und Isolierung
- Sicherheit des Docker-Daemons
- Bewährte Praktiken für die Container-Sicherheit
Einführung eines Continuous-Integration-Workflows für Docker-Anwendungen
- Einführung in CI für containerisierte Anwendungen
- Automatisches Erstellen von Docker-Images
- Automatisiertes Testen von Docker-Images und Containern
- Taggen und Versionsverwaltung von Images
- Integration der Quellcodeverwaltung mit Docker-Builds
- Automatisiertes Scannen von Images auf Schwachstellen
- Veröffentlichung von Images in Registries
- Verwaltung von Build-Artefakten
- Implementierung automatisierter Qualitätsprüfungen
- Gestaltung einer wiederverwendbaren Docker-CI-Pipeline
Integration von Docker-Anwendungen in einen vorhandenen Workflow
- Integration von Docker in vorhandene Entwicklungsworkflows
- Containerisierung vorhandener Anwendungen
- Integration von Docker in CI/CD-Plattformen
- Verwaltung von Entwicklung-, Test-, Staging- und Produktionsumgebungen
- Automatisierte Bereitstellungsstrategien
- Konfigurationsverwaltung über Umgebungen hinweg
- Registry-Integration
- Bereitstellungsgenehmigungen und Release-Verwaltung
- Überwachung der Anwendungsbereitstellung
- Wahrung der Konsistenz über Umgebungen hinweg
Bewährte Praktiken für Container und Orchestrierung
- Gestaltung wartbarer Docker-Images
- Optimierung des Container-Starts und der Leistung
- Verwaltung des Container-Lebenszyklus
- Effektive Ressourcenallokation
- Strategien für Protokollierung und Überwachung
- Verwaltung von Konfigurationen und Secrets
- Hochverfügbarkeit und Fehlertoleranz
- Skalierung containerisierter Anwendungen
- Sichere Container-Bereitstellung
- Versionierung und Release-Strategien
- Bewährte Praktiken für die Orchestrierungsarchitektur
Fehlerbehebung
- Diagnose von Container-Startfehlern
- Untersuchung von Anwendungs- und Container-Protokollen
- Prüfung von Containern und Images
- Fehlerbehebung bei Netzwerkproblemen
- Auflösung von Speicher- und Volume-Problemen
- Diagnose von Image-Build-Fehlern
- Fehlerbehebung bei Docker-Compose-Anwendungen
- Untersuchung von Ressourcen- und Leistungsproblemen
- Grundlagen der Kubernetes-Fehlerbehebung
- Praktische Übungen zur Fehlerbehebung
Zusammenfassung und Schluss
- Wiederholung der zentralen Docker-Konzepte
- Wiederholung der Image-Erstellung und Container-Verwaltung
- Wiederholung der Bereitstellung von Multi-Container-Anwendungen
- Wiederholung der Orchestrierungskonzepte und von Kubernetes
- Wiederholung von Docker-Netzwerken und Sicherheit
- Wiederholung der CI/CD-Integration
- Bewährte Praktiken für Containerisierung und Orchestrierung
- Letzte praktische Übung
- Fragen und Diskussion
Voraussetzungen
- Vorherige Erfahrung in der Arbeit mit Docker-Containern.
Zielgruppe
- Entwickler:innen
- DevOps-Ingenieur:innen
- Systemadministratoren
Erfahrungsberichte (7)
Das umfassende Wissen des Trainers und seine Fähigkeit, spontan auftretende Probleme während der Übungsstunden zu lösen. Auch die Übungen selbst sind angemessen, um die im Kurs behandelten Themen zu vertiefen.
Cosmin - Ness Digital Engineering
Kurs - Advanced Docker
Maschinelle Übersetzung
Das Tempo und die Tatsache, dass wir sehr schnell tief ins Detail gegangen sind, war gut. Ich denke jedoch, dass wir ab dem ersten Tag noch tiefer eingehen könnten (da es sich um eine fortgeschrittene Docker-Schulung handelt, gehen wir davon aus, dass grundlegende Docker-Kenntnisse vorhanden sind).
SORIN ROMAN - Ness Digital Engineering
Kurs - Advanced Docker
Maschinelle Übersetzung
Der Trainer ist eine nette Person und hat alles sehr gut erklärt, auf strukturierte Weise, die Sinn ergibt und fließend ist. Coole Übungen zum Üben.
Andreas - Ness Digital Engineering
Kurs - Advanced Docker
Maschinelle Übersetzung
Die Schulung hatte ein gutes Tempo, das auf die Erfahrung jedes Teilnehmers zugeschnitten war. Auch das Verhältnis zwischen theoretischen Grundlagen und praktischen Übungen war gut ausbalanciert.
Laurentiu - Ness Digital Engineering
Kurs - Advanced Docker
Maschinelle Übersetzung
Die Struktur und die Art der Präsentation. Für mich war diese Schulung wie eine Reise: von der App zu Docker-Containern und weiter zu Kubernetes. Die Übungen waren fesselnd und präzise.
Andrei - Ness Digital Engineering
Kurs - Advanced Docker
Maschinelle Übersetzung
Die einfache Erklärung und dass der Kurs didaktisch gestaltet war
Diana Martinez - AT&T
Kurs - Advanced Docker
Maschinelle Übersetzung
Der Dozent ist ein erfahrenes Entwickler mit Docker und freut sich, seine Erfahrungen mit der Gruppe zu teilen. DaDesktop ist eine sehr gute Plattform zum Arbeiten.
Ulises - AT&T
Kurs - Advanced Docker
Maschinelle Übersetzung