Training Module

Docker Fortgeschritten: Multi-Container-Webapps mit Docker Compose

In diesem 2-Stunden-Aufbaumodul verdrahtet ihr mehrere Container zu einer echten Anwendung: Multi-Container- Netzwerke mit Service Discovery über compose.yaml, eine eigene Webapp aus Frontend und Datenbank mit Named Volumes und .env-Konfiguration sowie Zugangsdaten sicher über das _FILE- Pattern statt im Klartext. Die komplette Session – auch die Hands-on-Übung – läuft vollständig lokal auf eurem eigenen Rechner, ohne Cloud-Account und ohne Kostenwirkung.

Format

2 Stunden, live (remote oder vor Ort), Input & Hands-on

Teilnehmende

Absolvent:innen von “Docker Grundlagen” oder gleichwertige Vorkenntnisse

Voraussetzungen

Sicherer Umgang mit einzelnen Containern (Image/Container-Modell, eigenes Dockerfile, Volumes) sowie eine lauffähige Docker-Umgebung mit Docker Compose. Keine Cloud-/AWS-Kostenwirkung – alles läuft lokal.

Warum dieses Training für deine Organisation wirkt

Vom Einzel-Container zum echten System

Reale Anwendungen bestehen fast nie aus einem einzelnen Container. Der Bogen läuft von der Grundstruktur einer compose.yaml über isolierte Multi-Container-Netzwerke bis zur eigenen, mehrteiligen Webapp aus Frontend und Datenbank.

Sicherheit durch Isolation, nicht durch Zufall

Warum eine Datenbank kein eigenes Bein im Internet braucht, wie internal: true ein Netzwerk komplett abkapselt und wie Zugangsdaten über das _FILE-Pattern aus dem Klartext verschwinden – Teilnehmende verstehen die Architektur-Entscheidung, nicht nur den Befehl.

Praxis ohne Risiko

Die Hands-on-Übung – den eigenen Webserver aus “Docker Grundlagen” mit einer Datenbank zu einem Mehr-Container-Setup verdrahten – läuft komplett lokal. Kein eigener Cloud-Account, keine Kostenwirkung.

Was Teilnehmende mitnehmen

  • Die Grundstruktur einer compose.yaml lesen und selbst schreiben: services, image vs. build, volumes, networks.
  • Multi-Container-Netzwerke aufbauen und verstehen, wie Container einander über den Service-Namen als Hostnamen finden (Service Discovery) – inklusive vollständig abgekapselter Netzwerke über internal: true.
  • Eine eigene Webapp aus Frontend und Datenbank verdrahten: getrennte Services, Named Volumes für persistente Daten, Konfiguration über .env statt fest im Code.
  • Zugangsdaten sicher verwalten: Docker Secrets und das _FILE-Pattern offizieller Images, statt Passwörter im Klartext in environment: zu schreiben.
  • Einen Ausblick auf Multi-Stage-Builds für schlankere, produktionsnähere Images.
  • In einer Hands-on-Übung ein eigenes Mehr-Container-Setup aus Webserver und Datenbank aufbauen und gegen eine Musterlösung abgleichen.

Für wen dieses Modul ideal ist

  • • Absolvent:innen von “Docker Grundlagen” oder Entwickler:innen mit gleichwertigen Vorkenntnissen im Umgang mit einzelnen Containern
  • • Teams, die von manuell gestarteten Einzel-Containern zu versionierten, reproduzierbaren Mehr-Container-Setups wechseln wollen
  • • Alle, die ihre erste eigene Webapp aus mehreren Diensten sicher und nachvollziehbar zusammenschalten möchten

Rahmendaten

  • • Dauer: 2 Stunden live (remote oder vor Ort)
  • • Format: Input, Live-Coding, Hands-on-Übung mit Musterlösungs-Abgleich
  • • Voraussetzungen: abgeschlossenes Modul “Docker Grundlagen” oder gleichwertige Vorkenntnisse, lauffähige Docker-Umgebung mit Docker Compose, keine Cloud-Kostenwirkung

Modulaufbau & Agenda

  1. Warum Compose? Grundstruktur compose.yaml (15 min): vom manuellen docker run zur zentralen Konfigurationsdatei, die Top-Level-Abschnitte services, volumes und networks.

  2. Multi-Container-Netzwerke & Service Discovery (25 min): Container erreichen sich über ihren Service-Namen, eigene Netzwerke definieren, vollständig abgekapselte Netzwerke über internal: true.

  3. Eigene Webapp containerisieren (30 min): Frontend und Backend/Datenbank verdrahten, Daten über Named Volumes persistent halten, Konfiguration über .env auslagern.

  4. Secrets sicher verwalten (15 min): Docker Secrets und das _FILE-Pattern offizieller Images, statt Zugangsdaten im Klartext.

  5. Ausblick: Multi-Stage-Builds (15 min): schlankere, produktionsnähere Images als optionaler Ausblick, Zeitpuffer für Rückfragen aus den vorherigen Modulen.

  6. Hands-on-Übung + Abgleich (20 min): eigenständig ein Mehr-Container-Setup aus Webserver und Datenbank aufbauen, danach gemeinsamer Abgleich.

Hands-on Inhalte (Auszug)

compose.yaml-Grundlagen

  • Services über image oder lokalen build-Kontext definieren
  • Ein zentraler Befehl (docker compose up) statt vieler manueller docker run-Aufrufe
  • Top-Level-Abschnitte volumes und networks im Zusammenspiel mit services

Netzwerke & Isolation

  • Service Discovery: Container erreichen sich über ihren Service-Namen als Hostnamen
  • Eigene, benannte Netzwerke statt des automatischen Standardnetzwerks
  • Ein Backend-Netzwerk komplett vom Host und Internet abkapseln (internal: true)

Eigene Webapp verdrahten

  • Webserver und Datenbank als getrennte Services im selben Setup
  • Datenbankinhalte über ein Named Volume persistent über Neustarts hinweg halten
  • Konfiguration über .env statt fest im Code oder in der compose.yaml

Secrets & Ausblick

  • Zugangsdaten über das _FILE-Pattern offizieller Images einlesen, nicht im Klartext
  • Kein Passwort in environment: oder im Git-Repository
  • Ausblick auf Multi-Stage-Builds für schlankere Produktions-Images

Dieses Modul ist Teil unserer Pilotphase. Gemeinsam mit euch definieren wir passende Metriken (z. B. Zeit bis zum lauffähigen Mehr-Container-Setup, Ergebnis der Hands-on-Übung) und werten sie im Anschluss transparent aus. Ergebnisse veröffentlichen wir, sobald sie belastbar sind.

Bereit, das Modul zu buchen?

Wir passen die Hands-on-Übung auf euren Erfahrungsstand und eure Zielumgebung an.

Academy Briefing anfragen