← Zurück zur Übersicht

Tech & Entwicklung

Docker erklärt — als hätte dir noch nie jemand zugehört

15. März 2026 · 6 Min. Lesezeit · Max Goette

Ein Text für die Kaffeepause — diesmal nicht über Psychologie, sondern über ein Tool, das dir den Kopf frei macht. Versprochen: keine Voraussetzungen, keine Buzzwords.

Kurzfassung für den ersten Schluck:

Docker packt deine App samt aller Abhängigkeiten in einen isolierten Container. Egal auf welchem Rechner du den startest — es läuft identisch. Kein „bei mir funktioniert's aber", kein Versions-Chaos. Ein Befehl, alles läuft. Ein Befehl, alles ist weg. Dein PC bleibt sauber.

1. Das Problem, das jeder kennt

Du willst ein Projekt starten. Dafür brauchst du Node.js, eine Datenbank, bestimmte Pakete — und alles muss genau zusammenpassen.

Jetzt willst du das gleiche Projekt auf einem Server deployen. Oder ein Kollege will es bei sich starten. Und dann passiert es:

„Bei mir läuft's nicht."

Weil er Node 18 hat statt 20. Oder Windows statt Mac. Oder eine andere Postgres-Version. Oder irgendein Dependency-Konflikt aus der Hölle.

Das ist kein Nischenproblem — das ist der Alltag in der Softwareentwicklung. Und genau hier kommt Docker ins Spiel.

Ohne Docker Dein Windows PC Node 20 Python 3.11 Postgres 15 Node 18 (?!) npm packages kollidieren Umgebungsvariablen-Chaos Projekt A braucht Node 20 Projekt B braucht Node 18 Beide brauchen Postgres… …in verschiedenen Versionen Alles kaputt Mit Docker Dein Windows PC Container A Node 20 + Postgres 16 Flippo.club Container B Node 18 + Postgres 15 Blog-System Container C Python + n8n Container D MCP Server Jeder Container ist isoliert Eigene Node-Version, eigene DB Kein Konflikt, kein Chaos Startet in Sekunden Alles läuft sauber Docker = Jedes Projekt bekommt seinen eigenen Mini-PC …der immer gleich funktioniert, egal wo du ihn startest

2. Was Docker eigentlich ist

Docker ist ein Programm, das Container erstellt und verwaltet. Ein Container ist eine isolierte Umgebung, in der deine App läuft — mit allem, was sie braucht. Eigenes Betriebssystem, eigene Pakete, eigene Datenbank.

Stell dir einen Versandcontainer vor. Egal ob der auf einem Schiff, einem LKW oder im Hafen steht — der Inhalt bleibt identisch. Docker macht dasselbe mit Software.

Um Docker zu verstehen, brauchst du genau drei Begriffe:

Dockerfile = Das Rezept Nimm Ubuntu Installiere Node 20 → Textdatei im Projekt docker build Image = Der fertige Kuchen Snapshot mit allem drin Wiederverwendbar → Wie eine .iso-Datei docker run Container = Deine laufende App App läuft hier isoliert Eigenes Dateisystem → Ein Mini-Computer docker-compose = Mehrere Container zusammen starten Eine YAML-Datei: „Starte mir App + Datenbank + Cache zusammen" Web-App Node 20 PostgreSQL Datenbank Redis Cache / Sessions docker compose up → Alles startet docker compose down → Alles stoppt sauber

3. Die drei Begriffe, die du dir merken musst

Dockerfile — das Rezept

Ein Dockerfile ist eine simple Textdatei in deinem Projekt. Vielleicht zehn Zeilen lang. Da steht drin: „Nimm Linux, installiere Node 20, kopiere meinen Code rein, starte die App." Das ist alles.

Denk an ein Backrezept. Es beschreibt Schritt für Schritt, was zu tun ist — aber es ist noch kein Kuchen.

Image — der fertige Kuchen

Wenn Docker das Dockerfile einmal „backt" (docker build), entsteht ein Image. Ein fertiges Paket mit allem drin — Betriebssystem, Node, dein Code, alle npm-Pakete.

Das Image verändert sich nie. Du kannst es auf einen Server schieben, einem Kollegen geben, oder fünf Mal gleichzeitig starten. Es ist immer dasselbe.

Container — der laufende Kuchen

Wenn du docker run tippst, nimmt Docker das Image und startet daraus einen isolierten Mini-Computer. Der Container sieht deinen restlichen PC nicht. Er hat sein eigenes Dateisystem, seine eigene Node-Version, seine eigene Datenbank.

Wenn du ihn löschst, ist alles weg — dein PC bleibt sauber. Keine Reste in der Registry, keine vergessenen Hintergrundprozesse.

4. docker-compose: Der Dirigent

In der Praxis brauchst du selten nur einen Container. Eine typische Web-App besteht aus der App selbst, einer Datenbank und vielleicht einem Cache. Drei Dinge, die zusammenarbeiten müssen.

Statt jeden Container einzeln zu starten, schreibst du eine docker-compose.yml — eine Datei, die beschreibt: „Ich brauche diese drei Container, und so reden sie miteinander."

So sieht eine docker-compose.yml aus:

# docker-compose.yml — Das ist alles.
version: "3.8"

services:
  app:
    build: .
    ports:
      - "3000:3000"
    depends_on:
      - db
      - redis

  db:
    image: postgres:16
    environment:
      POSTGRES_PASSWORD: geheim

  redis:
    image: redis:alpine
app — gestoppt postgres — gestoppt redis — gestoppt

Drei Services, eine Datei. Ein Befehl startet alles. Ein Befehl stoppt alles. Dein PC bleibt sauber.

5. Was sich im Kopf ändern muss

Der eigentliche Paradigmenwechsel bei Docker ist nicht technisch — er ist psychologisch.

Ohne Docker denkst du: „Ich installiere Node auf meinem PC." Du richtest dir alles ein, und dein Computer wird mit jedem Projekt ein bisschen vollgemüllter. Irgendwann traust du dich nicht mehr, etwas zu deinstallieren, weil vielleicht ein anderes Projekt das noch braucht.

Mit Docker denkst du: „Ich starte einen Container, der Node hat." Dein PC bleibt unberührt. Wenn das Projekt vorbei ist, löschst du den Container — fertig. Kein Müll, keine Reste, keine Angst.

Die Kernidee in einem Satz:

Du installierst nie wieder Datenbanken, Runtimes oder Tools direkt auf deinem Rechner. Alles lebt in Containern. Wenn etwas kaputt geht: Container löschen, neu starten. Zehn Sekunden.

6. Was Docker nicht ist

Docker ist keine virtuelle Maschine. Eine VM simuliert einen kompletten Computer inklusive eigenem Betriebssystem — das frisst RAM und dauert Minuten zum Starten. Ein Docker-Container teilt sich den Kernel mit deinem Host-System und startet in Sekunden.

Docker ist auch kein Hosting-Dienst. Es erstellt und verwaltet Container — wo die dann laufen (dein PC, ein Server, die Cloud), ist eine andere Frage.

Und Docker ist nicht immer nötig. Wenn du eine einfache Webseite auf Vercel deployst, brauchst du kein Docker. Vercel übernimmt den ganzen Build-Prozess für dich. Docker wird dann spannend, wenn du mehrere Services zusammen orchestrieren musst oder eine reproduzierbare Umgebung brauchst.

7. Wann Docker sich für dich lohnt

Docker macht Sinn, wenn mindestens einer dieser Punkte auf dich zutrifft:

Du arbeitest an Projekten mit einer Datenbank. Statt PostgreSQL oder MongoDB lokal zu installieren: ein Container, der beim Projektwechsel einfach ausgetauscht wird.

Du springst zwischen Projekten mit verschiedenen Node-Versionen. Kein nvm use 18, nvm use 20 mehr — jedes Projekt hat seine Version im Container.

Du willst Tools selbst hosten. Analytics, Automatisierung, CMS-Systeme — Docker macht Self-Hosting zum Einzeiler statt zum Wochenendprojekt.

Du willst sicherstellen, dass dein Setup reproduzierbar ist. Neuer Laptop? docker compose up — alles läuft wie vorher.

So fängst du an

Dein 3-Schritte-Einstieg:

Schritt 1: Installiere Docker Desktop für Windows (nutzt WSL2 im Hintergrund). Ein Installer, ein Neustart.

Schritt 2: Starte deinen ersten Container mit einem einzigen Befehl: docker run -p 8080:80 nginx — öffne localhost:8080 im Browser. Glückwunsch, du betreibst einen Webserver.

Schritt 3: Erstelle deine erste docker-compose.yml mit App + Datenbank. Zwei Services, die miteinander reden. Das „Aha"-Erlebnis kommt hier.

Docker ist eines dieser Tools, bei denen der Groschen erst fallen muss. Aber wenn er fällt, fragst du dich, wie du jemals ohne gearbeitet hast. Es ist der Unterschied zwischen „ich hoffe, das klappt auf dem Server auch" und „ich weiß, dass es klappt."

Und dieses Wissen — das ist unbezahlbar.