In diesem Seminar lernen die Kursteilnehmer alle notwendigen Grundlagen zum Aufbau und Betrieb von Docker.
Agenda Docker Grundlagen
-Container vs. VM: Bedarfsanalyse/Einsatzgebiete , Vor- und Nachteile , eingeschränkte Portierbarkeit
-Continuous Delivery / Continuous Integration, Microservices
-Entwickler vs. DevOps vs. Infrastruktur-Admin
-Übersicht: Dedizierte Container-Plattformen wie CoreOS und Atomic
-Containerisierte OS und die Zukunft
-Packungsdichten und Netzwerk-Engpässe
-Funktionale Übersicht: Container und Kernel-Namespaces
Docker im Betrieb
-Installation als distributionsspezifisches Paket oder als Docker-Paket
-Versionsfragen, Community- und Enterprise-Editions, Release-Zyklen, Best Practices
-Dockerd: Startparameter und Konfigurationsmöglichkeiten
-Übersicht: Docker-Registry, -Daemon und Client-Frontend (Docker CLI)
Erstellen und Verwalten von Images
-Images pullen, inspizieren und lokal verwalten
-Image Tagging und Namenskonventionen
-Eigene 'trusted' images erzeugen: Dockerfile, Build-Direktiven und Build-Prozess im Detail
-Multi-Stage Builds
-Build History und Layer
-Dangling Images, Image Flattening
-Troubleshooting und Best Build-Practices
Container betreiben und verwalten
-Container-Instanzen starten und remote verwalten
-Applikationen im Container überwachen / Healthchecks
-Container-Instanzen imitieren (Cpusets, Memorylimits und mehr)
-(Zentralisiertes) Logging
-Multi-Container Rollout mit Compose: Apache und LDAP Applikations-Container, Dependencies
Netzwerke
-Docker Networking: Aufbau und Funktionsweise
-Zusammenspiel der Komponenten: Docker Bridge und virtuelle Container Interfaces
-Kommunikation: Host <-> Container <-> World
Portmappings
-Docker und iptables-Rulesets
-Dedizierte / User-definierte Netzwerke, Overlay Networks
Storage und Volumes
-Daten- / Layer-Strukturen unter /var/lib/docker, Datensicherungsstrategien
-Pool-/Storage-Größen definieren
-Storage Backends im Überblick, Vor- und Nachteile: AuFS, OverlayFS, Devicemapper/direct-lvm, ZFS, BTRFS
-Docker Volumes: Datenaustausch zwischen Container und Host, Externe Docker Volumes für Container mit Stateful Application-Data
-Docker Data Volumes: einfache Data Volumes, Host Mounted Data volumes, 'pure' Data Volumes
-Verfügbare Volume Plugins
Security
-Grundsätzliche Überlegungen zur Container-Security
-Überblick: Seccomp, SELinux und Capabilities im Container-Betrieb
-Prozess-Capabilities verstehen, auslesen und setzen
-Security- / Vulnerability-Checks
-Host-Analyse
Betrieb einer eigenen Registry
-Docker-Registry: Key Concepts, Arbeitsweise und fehlende Features
-Konzeptionelle Ansätze für LDAP- und AD-Authentication per vorgeschaltetem http-Proxy
-Automatisierter Rollout einer Trusted Registry mit TLS und LDAP-Integration
-Überblick: Registry-Alternativen und transparente Integration von Security Lösungen
Docker Orchestrierung
-Überblick: Designansätze, Konzepte und Orchestrierungs-Tools für Container Cluster
-Vergleichender Überblick: Swarm, Docker Datacenter, Kubernetes/OpenShift und DC/OS
-Key Concepts: Monitoring-/HA-Mechanismen, Service- Discovery und Key/Value Stores
-Setup eines Multi-Node-Swarm Clusters
-Ausrollen von Services im Cluster, Label und Affinities, Rollback von Services, Healthchecks
-Docker Datacenter im Überblick: Komponenten, Arbeitsweise, Einsatzgebiete
Direktlink zum Seminar