WHILE.CHAT·WORK · Tech & KI·10 MIN·Max Götte
Docker einfach erklärt: Container verstehen
work · Tech & KIJuni 202610 Min. LesezeitMax Götte

Docker einfach erklärt: Container verstehen

Donnerstag, 22:14 Uhr. Der Slack-Channel blinkt. „Bei mir läuft's nicht.“ Vier Wörter, die mehr Projekte verzögert haben als jeder Bug. Der Kollege hat Node 18 statt 20. Oder Windows statt Mac. Oder eine Postgres-Version, die niemand dokumentiert hat. Oder, der Klassiker, ein Dependency-Konflikt aus der Hölle.

Das ist kein Nischenproblem. Das ist der Alltag in der Softwareentwicklung. Und genau hier kommt Docker ins Spiel: ein Tool, das deine App samt aller Abhängigkeiten in eine Kiste packt. Egal wo du die Kiste öffnest, der Inhalt ist identisch.

Shipping software is not a technology problem. It's a consistency problem.

— Solomon Hykes, Gründer von Docker, 2013

Ohne Docker vs. mit Docker Ohne Docker Dein Windows PC Node 20 Python 3.11 Postgres 15 Node 18 (?!) npm packages kollidieren Umgebungsvariablen-ChaosProjekt A braucht Node 20 Projekt B braucht Node 18 Beide brauchen Postgres... ...in verschiedenen Versionen Alles kaputtMit 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 ServerJeder 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

// 02 / 08Was 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, Image, Container und docker-compose 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-Computerdocker-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

// 03 / 08Die 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.

// 04 / 08docker-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.ymlyaml# 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

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

// 05 / 08Was 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.

// 06 / 08Was 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.

// 07 / 08Wann 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.

// 08 / 08So fängst du an

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.“

Häufige Fragen

Quellen & Vertiefung

  • Docker Inc. (2026). Docker Documentation, Get Started Guide. docs.docker.com
  • Hykes, S. (2013). The future of Linux Containers. PyCon Lightning Talk.
  • Merkel, D. (2014). Docker: Lightweight Linux Containers for Consistent Development and Deployment. Linux Journal, 239.
  • Turnbull, J. (2014). The Docker Book. James Turnbull.

Zum Thema: Web Dev for Vibe Coders, Der komplette Guide 2026

// micro-journal

Was wolltest du schon immer mal in einen Container packen?

Ein Satz reicht. Das Journal bleibt lokal in deinem Browser — kein Konto, kein Server.

notierenMG

Max Götte

SEO Strategist · Founder · while.chat

SEO-Berater aus Bochum. Schreibt über SEO, Tech und die Werkzeuge, mit denen man besser baut. Kein Newsletter (noch nicht), aber erreichbar per Mail.

about → hello@while.chat mehr artikel

FAQ

Was ist der Unterschied zwischen Docker und einer VM?

Eine VM simuliert einen kompletten Computer mit eigenem Betriebssystem, das frisst RAM und dauert Minuten zum Starten. Ein Docker-Container teilt sich den Kernel mit dem Host-System und startet in Sekunden. Container sind leichtgewichtiger, VMs sind stärker isoliert.

Brauche ich Docker für jedes Projekt?

Nein. Für einfache Webseiten auf Vercel oder Netlify brauchst du kein Docker. Es wird spannend, wenn du mehrere Services orchestrieren musst (App + Datenbank + Cache), reproduzierbare Umgebungen brauchst, oder Tools selbst hosten willst.

Was ist docker-compose?

Docker Compose ist ein Tool, das mehrere Container gleichzeitig verwaltet. Du definierst alle Services in einer YAML-Datei und startest sie mit einem einzigen Befehl: docker compose up. Ideal für Projekte mit App + Datenbank + Cache.

Ist Docker kostenlos?

Docker Engine ist Open Source und kostenlos. Docker Desktop ist für kleine Unternehmen (unter 250 Mitarbeiter, unter 10 Mio. Umsatz) und den persönlichen Gebrauch kostenlos. Größere Unternehmen brauchen ein Abonnement.

Was passiert mit meinen Daten, wenn ich einen Container lösche?

Alles im Container ist weg. Deshalb gibt es Volumes, persistente Speicher außerhalb des Containers. Deine Datenbank-Daten überleben so jeden Container-Neustart. In docker-compose definierst du Volumes mit wenigen Zeilen.