Docker™ in der Praxis

Schulung / Webinar

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 verDocker™n, 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 Docker™images

  • 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

1 Tag

Kursunterlage

Handouts aller in der Schulung präsentierten Folien.

Docker™ ist ein eingetragens Warenzeichen von Docker™, Inc.

Infos zu Firmenseminaren

Warum Docker?

predic8 Trainer auf YouTube