Schulung: Docker in der Praxis

Docker hat in Datenzentren nach der Virtualisierung mit VMs die zweite Revolution ausgelöst. Die Wartezeit für einen physikalischen Rechner im Rechenzentrum betrug nicht selten Wochen oder Monate. Die Virtualisierung hatte eine Verkürzung auf Tage oder wenige Stunden zur Folge. Die Containertechnologie ermöglicht eine weitere Beschleunigung. Nach Sekunden kann ein Container bereits erzeugt und im Betrieb sein. Eine starre Kapazitätsplanung gehört der Vergangenheit an. Bei der Virtualisierung können sich Anwendungen die CPU teilen, bei der Containertechnologie wird zusätzlich der Speicher geteilt, was zu einer weiteren Einsparung von Ressourcen führt.

Container, ihre Beziehungen untereinander und das Netzwerk sind vollständig mit Code beschreibbar. Infrastructure as Code ermöglicht den automatiserten Aufbau einer reproduzierbaren Softwarelandschaft.

Im Seminar wirst Du selbst Software "verdockern", eigene Images schreiben und eine Container Infrastruktur aufbauen.

In der Docker Schulung wirst Du selbst Software "verdockern", eigene Images schreiben und eine Container Infrastruktur aufbauen.

Einführung in Docker

  • Container als Deploymenteinheit
  • Überblick über die Docker Architektur (Engine, Client, ...)
  • Images, Container und Layers
  • Aufbau eines Beispiel-Containers
  • Vergleich: Docker Container und VMs
  • Abstraktionsebenen: CPU & Linux-Kernel

Erstellen von Dockerimages

  • Auswahl des passenden Basisimages
  • Best Practices für das Schreiben von Dockerfiles
  • Optimierung von Speicherverbrauch und Buildzeit
  • Das Union-Dateisystem
  • Wiederverwendung von Images

Java & Javascript im Docker Container

  • Ein Dockerimage für Java erstellen
  • Tomcat und/oder Application Server im Container betreiben
  • Dockerimages für Node.js

Deployment

  • Continuous Delivery
  • Infrastructure as Code
  • Automatisierung des Deployments
  • Dockerimages mit Jenkins bauen
  • Docker und die DevOps Culture

Produktive Umgebung

  • Verwenden der Infrastruktur von Docker Inc. oder Aufsetzen auf eigener Hardware?
  • Management von Containern
  • Reaktion auf Betriebssystem Upgrades: Docker Restart Policies
  • Wie kommt mein Dockerimage zum Dockerhost
  • Hub ("Docker Registry")

Docker Volumes

  • Wie halte ich Zustand in meinem Container?
  • Gehören zusammenhängende Anwendungen (z.B. eine Datenbank und ihr Backuper) in dasselbe Image?
  • Gruppieren von Containern mit Docker Compose

Microservice Architektur Muster mit Docker

  • Nutzvieh gegen Haustiere ("cattle vs pets")
  • Generische Container

Docker im Detail

  • Was passiert genau bei "docker run"?
  • Linux Kernel Namespaces: Isolierung von Dateisystem, Benutzern, Prozessen & Netzwerk

Ausblick

  • Docker in der Cloud
  • Gruppierung von Containern mit Kubernetes
  • Automatisierte Reaktion auf Hardware Failures
  • Project Calico: Deklaratives Cloud Netzwerk
  • Vendor Lock-In bei der Container Engine? Nein, danke.

Zielgruppe

Administratoren, Entwickler, Architekten, DevOps

Vorkenntnisse

Grundlegende IT Kenntnisse. Docker und Linux Kenntnisse sind nicht notwendig.

Ziele

  • Du verstehst die Container Architektur.
  • Du kannst selbst effiziente Dockerfiles erstellen.
  • Du bist in der Lage, Docker in einer CI/CD Pipeline zu verwenden.

Dauer

2 Tag

Kursunterlage

Handouts aller in der Schulung präsentierten Folien.

* Gesamtpreis pro Teilnehmer inkl. Kursmaterial und Tagesverpflegung zzgl. Mehrwertsteuer