Docker

Isolation von Anwendungen in Containern mithilfe von Betriebssystemvirtualisierung

Micro-Service-Architektur, vereinfachte Continuous Integration und Delivery, die Migration von Entwicklern und Administratoren hin zu DevOps – wenige Technologien haben in so kurzer Zeit einen so großen Einfluss auf unterschiedlichste IT-Bereiche gehabt wie Docker. Von einigen als „Hype“ abgetan, nutzen andere Docker längst erfolgreich in kleinen wie in großen Projekten.

Einführung

  • Warum Docker entwickelt wurde
  • Was Docker tatsächlich ist
  • Für wen Docker gedacht ist
  • Welche Probleme Docker löst
  • Docker vs. klassische Virtualisierung
  • Docker im Entwicklungsprozess
  • Docker in der Infrastruktur / Administration
  • Automatisierungsmöglichkeiten

Docker allgemein

  • Core-Komponenten (Server, Client, Library)
  • Ökosystem (Hub, Store, Cloud, Kinematic)
  • Community Edition vs. Enterprise Edition
  • Container und Repositories
  • Images und UnionFS
  • Persistenzschicht und Volumes
  • Prinzip One-Process-per-Container

Docker und Windows

  • Container unter Windows 10 und Windows Server 2016
  • Docker for Windows
  • Windows-Container und HyperV-Container
  • Linux Containers on Windows
  • Container als Brückentechnologie für Legacy-Anwendungen

Container Management

  • Erzeugen von Containern
  • Provisionierung und Deprovisionierung von Containern
  • Persistieren von Daten
  • Migration zwischen Hosts
  • Container Deep Dive

Container Definition über Dockerfile

  • Layers und Images definieren
  • Instruktionen
  • Build Caching
  • Typische Infrastrukturbeispiele

Netzwerk

  • Netzwerkdefinition
  • Kommunikation von Containern mit der Außenwelt
  • Container verbinden / isolieren

Multi-Container und Multi-Host

  • Multi-Container mit Docker Compose und Docker Stack
  • Multi-Host mit Docker Swarm / Docker Swarm Mode
  • Multi-Architektur – Kombination Windows- und Linuxcontainer
  • Konfiguration in verteilten Umgebungen

Deployment

  • Entwicklungsumgebungen und Toolunterstützung
  • Multi-Stage-Build
  • Verknüpfung Github und Dockerhub
  • Exkurs: Continuous Integration und Continuous Deployment z. B. mit Visual Studio Team Services oder TeamCity
  • Von der Entwicklungsmaschine aufs Produktivsystem

Eigene Docker-Infrastrukturen

  • Warum sich ein eigenes Repository lohnt
  • Einrichtung und Rollen
  • Auto-Deployment mit Docker Machine

Praxistipps und -tricks

  • Abgrenzung: Wann wird Docker genutzt, wann werden virtuelle Maschinen eingesetzt
  • Docker Anti-Entwurfsmuster
  • Entwicklungsprozesse
  • Sicherheit, Sicherung und Aktualisierungen
  • Container-Performance und -Metriken
  • Ressourcen und Buchtipps

Besonderheiten bei Kubernetes

  • Docker Swarm vs. Kubernetes
  • Identifikation von Use-Cases für Kubernetes
  • Verständnis für Cluster-Komponenten: pods, labels, replication controllers, services
  • Verständnis für Cluster-Komponenten: Master- und Cluster-Nodes
  • Umgang mit der Kommandozeile: kubectl
  • Definieren eines Pods anhand eines JSON-Templates
  • Deployment eines Pods in einem Kubernetes-Cluster
  • Erstellen eines Kubernetes-Clusters
  • Liveness & Readiness-Probe
  • Einführung von Healthchecks
  • Einsatz von Helm für das Templating
  • Typische Kubernetes-Patterns wie Sidecars
  • Zentrales Logging mit dem ELK-Stack
  • Verwenden des Kubernetes Modes mit Docker EE

Unsere Veranstaltungsorte von dieser / diesem Schulung, Training, Seminar, Kurs (nach oben): Berlin, Dresden, Frankfurt am Main, Hamburg, Hannover, Karlsruhe, Köln, Leipzig, Magdeburg, München, Stuttgart und Inhouse.

Fortbildung oder Weiterbildung zu Docker – wir setzen nur auf erfahrene Talente als Docker Trainer. Das Credo von Frank Pommerening lautet „Technologie ist da, um für und mit den Kunden Lösungen zu entwickeln“. Mehr zu ihm und den Beweggründen unserer anderen Trainer erfahren Sie bei seiner Biographie (direkt erreichbar per Bild).

Nach oben