⚡ HomelabVergleich

Docker für Einsteiger: Container in 20 Minuten verstehen

Docker ist die mit Abstand beliebteste Container-Plattform und aus keinem modernen Homelab mehr wegzudenken. Statt jede Anwendung mühsam manuell auf einem Server einzurichten, packst du sie samt aller Abhängigkeiten in einen Container – und startest sie damit auf jedem Rechner identisch. In diesem Guide lernst du in rund 20 Minuten, was Container von virtuellen Maschinen unterscheidet, warum Docker auch für dein Homelab sinnvoll ist und wie du mit den ersten Befehlen sofort loslegst.

Container vs. virtuelle Maschine: der entscheidende Unterschied

Der Unterschied zwischen beiden Ansätzen ist leichter zu verstehen, als er oft klingt:

Faustregel: Ein Container isoliert eine Anwendung, eine VM isoliert ein ganzes Betriebssystem. Für die allermeisten Linux-Dienste im Homelab ist der Container die schlankere, schnellere Wahl.

Warum Docker im Homelab?

Docker löst ein klassisches Problem: „Auf meinem Rechner lief es doch!" Weil jede Anwendung ihre komplette Umgebung mitbringt, gibt es keine Konflikte durch unterschiedliche Python-, Node- oder Datenbankversionen. Dazu kommen klare Vorteile:

Installation unter Linux

Unter Debian oder Ubuntu installierst du Docker am bequemsten über das offizielle Installationsskript:


curl -fsSL https://get.docker.com | sh

Danach fügst du deinen Benutzer zur Gruppe docker hinzu, damit du ohne sudo arbeiten kannst:


sudo usermod -aG docker $USER

Nach einem erneuten Login prüfst du die Installation:


docker --version
docker run hello-world

Erscheint die Begrüßungsmeldung, ist Docker einsatzbereit.

Die ersten Befehle: run, ps, stop

Der wichtigste Befehl ist docker run. Er lädt ein Image herunter (falls nötig) und startet daraus einen Container. Ein erstes Praxisbeispiel mit dem DNS-Werbe-Blocker Pihole – hier stark vereinfacht:


docker run -d --name mein-test -p 8080:80 nginx

Die Schalter im Überblick:

Mit diesen Befehlen behältst du den Überblick:


docker ps          # laufende Container auflisten
docker ps -a       # auch gestoppte Container anzeigen
docker stop mein-test   # Container stoppen
docker rm mein-test     # Container entfernen

Mehrere Dienste mit Docker Compose verwalten

Sobald du mehr als einen Dienst betreibst, lohnt sich Docker Compose. Statt langer docker run-Befehle beschreibst du alle Container in einer deklarativen Datei. Ein typisches Beispiel, das einen Webserver und eine Datenbank gemeinsam startet:


version: "3.9"

services:
  web:
    image: nginx:latest
    ports:
      - "8080:80"
    restart: unless-stopped

  db:
    image: mariadb:11
    environment:
      MARIADB_ROOT_PASSWORD: geheim123
    volumes:
      - db_data:/var/lib/mysql
    restart: unless-stopped

volumes:
  db_data:

Gespeichert als docker-compose.yml startest du den gesamten Stack mit einem einzigen Befehl:


docker compose up -d

Mit docker compose down fährst du alles wieder herunter, docker compose ps zeigt den Status. Der Clou: Du versionierst diese Datei einfach mit Git – dein komplettes Homelab wird damit nachvollziehbar und reproduzierbar.

Typische Anwendungen im Homelab

Die Auswahl an fertigen Images ist riesig. Diese Dienste laufen bei Homelab-Betreibern besonders häufig in Containern:

Tipps für einen sauberen Einstieg

Fazit

Docker senkt die Einstiegshürde für Homelab-Selbsthoster erheblich: Ein Befehl genügt, um einen fertigen Dienst zu starten, und mit Compose bleibt das ganze Setup reproduzierbar. Wer Container einmal verstanden hat, wird seine Dienste kaum noch anders betreiben wollen – egal ob auf einem Raspberry Pi oder einem ausgewachsenen Server.