Docker Tutorial Container Linux Einsteiger

Docker Tutorial für Einsteiger: Container verstehen und nutzen (2026)

Du hast schon öfter von Docker gehört, aber weißt nicht genau, was Container eigentlich sind oder wie du sie nutzen kannst? In diesem Docker Tutorial für Einsteiger erkläre ich dir Schritt für Schritt, was Docker ist, wie du es installierst und wie du deine ersten Container zum Laufen bringst. Kein Vorwissen nötig – nur etwas Neugier.

Was ist Docker? Container-Technologie einfach erklärt

Docker ist eine Open-Source-Plattform, die das Erstellen, Verteilen und Ausführen von Anwendungen in sogenannten Containern ermöglicht. Aber was ist ein Container eigentlich?

Stell dir vor, du möchtest eine Anwendung auf deinem Rechner betreiben. Früher musstest du dafür das Betriebssystem passend konfigurieren, Abhängigkeiten installieren und hoffen, dass alles zusammenpasst. Mit Docker packst du die Anwendung zusammen mit all ihren Abhängigkeiten in einen Container – eine Art leichtgewichtige, portable Box.

Der Unterschied zu virtuellen Maschinen:

  • Virtuelle Maschinen (VMs) emulieren komplett Hardware + eigenes Betriebssystem → ressourcenintensiv
  • Docker-Container teilen sich den Kernel des Host-Betriebssystems → deutlich leichter und schneller

Ein Container startet in Sekunden, eine VM braucht Minuten. Ein Container verbraucht typischerweise wenige Megabytes RAM, eine VM oft mehrere Gigabytes.

Warum Docker für dein Homelab?

Docker hat sich im Homelab-Bereich als Standard etabliert – und das aus gutem Grund:

  • Isolierung: Jeder Dienst läuft in einem eigenen Container, Konflikte sind nahezu ausgeschlossen
  • Portabilität: Ein Container funktioniert auf jedem System mit Docker – egal ob Ubuntu, Debian oder Proxmox LXC
  • Reproduzierbarkeit: Mit einer einfachen Konfigurationsdatei kannst du deine gesamte Umgebung neu aufbauen
  • Einfaches Update: Neue Version runterladen, alten Container löschen, neuen starten – fertig
  • Ressourceneffizienz: Dutzende Dienste auf einem einzigen Server möglich

Docker Installation auf Ubuntu und Debian

Die offizielle Docker-Installationsmethode über das Docker-Repository ist die empfohlene Vorgehensweise. Vergiss die Version aus dem Standard-Repository – die ist oft veraltet.

Schritt 1: System vorbereiten

# System aktualisieren

sudo apt update && sudo apt upgrade -y

Benötigte Pakete installieren

sudo apt install -y ca-certificates curl gnupg lsb-release

Schritt 2: Docker GPG-Schlüssel hinzufügen

# GPG-Schlüssel hinzufügen

sudo install -m 0755 -d /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

sudo chmod a+r /etc/apt/keyrings/docker.gpg

Schritt 3: Docker-Repository einrichten

# Repository hinzufügen (Ubuntu)

echo \

"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \

$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \

sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Paketliste aktualisieren

sudo apt update

Schritt 4: Docker installieren

# Docker Engine installieren

sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Überprüfen ob Docker läuft

sudo systemctl status docker

Schritt 5: Docker ohne sudo nutzen (optional, aber empfohlen)

# Deinen Benutzer zur Docker-Gruppe hinzufügen

sudo usermod -aG docker $USER

Abmelden und neu anmelden, dann testen:

docker run hello-world

Die wichtigsten Docker-Befehle im Überblick

Nach der Installation brauchst du nur eine Handvoll Befehle, um effektiv mit Docker zu arbeiten.

Images verwalten

# Image aus Docker Hub herunterladen

docker pull nginx:latest

Alle lokal gespeicherten Images anzeigen

docker images

Ein Image löschen

docker rmi nginx:latest

Nach Images suchen

docker search ubuntu

Container starten und verwalten

# Container starten (interaktiv)

docker run -it ubuntu:22.04 bash

Container im Hintergrund starten

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

Alle laufenden Container anzeigen

docker ps

Alle Container anzeigen (auch gestoppte)

docker ps -a

Container stoppen

docker stop mein-nginx

Container starten (nach dem Stoppen)

docker start mein-nginx

Container löschen

docker rm mein-nginx

Logs eines Containers anzeigen

docker logs mein-nginx

In einen laufenden Container einsteigen

docker exec -it mein-nginx bash

Nützliche Kombinations-Befehle

# Alle gestoppten Container löschen

docker container prune

Alle ungenutzten Images, Container und Netzwerke aufräumen

docker system prune -a

Ressourcenverbrauch anzeigen

docker stats

Docker Compose: Mehrere Container einfach orchestrieren

Wenn du mehrere Container zusammen betreiben möchtest, ist Docker Compose dein bester Freund. Mit einer einzigen YAML-Datei (docker-compose.yml) definierst du deine gesamte Anwendungsumgebung.

Was ist Docker Compose?

Docker Compose erlaubt es dir, mehrere Container als einen Dienst zu definieren und gemeinsam zu starten, zu stoppen und zu konfigurieren. Statt viele einzelne docker run-Befehle ausführen zu müssen, hast du alles in einer übersichtlichen Datei.

Aufbau einer docker-compose.yml

version: '3.8'

services:

web:

image: nginx:latest

ports:

  • "80:80"

volumes:

  • ./html:/usr/share/nginx/html

restart: unless-stopped

db:

image: mariadb:10.11

environment:

MYSQL_ROOT_PASSWORD: geheimesPasswort

MYSQL_DATABASE: meinedatenbank

volumes:

  • db_data:/var/lib/mysql

restart: unless-stopped

volumes:

db_data:

Docker Compose Befehle

# Alle Container starten (im Hintergrund)

docker compose up -d

Logs aller Dienste anzeigen

docker compose logs -f

Status der Dienste anzeigen

docker compose ps

Alle Dienste stoppen

docker compose down

Alle Dienste stoppen UND Volumes löschen

docker compose down -v

Einzelnen Dienst neu starten

docker compose restart web

Praktisches Beispiel: Webserver mit Nginx deployen

Lass uns das Gelernte direkt anwenden. Wir richten einen einfachen Webserver mit Nginx ein, der eine eigene HTML-Seite ausliefert.

Schritt 1: Projektverzeichnis erstellen

mkdir ~/mein-webserver && cd ~/mein-webserver

mkdir html

Schritt 2: Testseite erstellen

cat > html/index.html << 'EOF'

Mein Docker Webserver

Docker Tutorial für Einsteiger – es funktioniert!

Dieser Server läuft in einem Docker-Container.

EOF

Schritt 3: docker-compose.yml anlegen

cat > docker-compose.yml << 'EOF'

version: '3.8'

services:

webserver:

image: nginx:latest

container_name: mein-webserver

ports:

  • "8080:80"

volumes:

  • ./html:/usr/share/nginx/html:ro

restart: unless-stopped

EOF

Schritt 4: Starten und testen

# Container starten

docker compose up -d

Status prüfen

docker compose ps

Im Browser aufrufen: http://localhost:8080

Fertig! Du hast deinen ersten Webserver in einem Docker-Container zum Laufen gebracht. Öffne im Browser http://localhost:8080 und du solltest deine Testseite sehen.

Docker-Volumes: Daten dauerhaft speichern

Container sind von Natur aus kurzlebig – wenn du einen Container löschst, sind alle darin gespeicherten Daten weg. Für persistente Daten nutzt du Volumes.

Es gibt zwei Arten:

  • Bind Mounts: Ein Verzeichnis auf deinem Host wird direkt in den Container eingebunden (./daten:/data)
  • Named Volumes: Docker verwaltet den Speicherort selbst (db_data:/var/lib/mysql)

Für Konfigurationsdateien empfehle ich Bind Mounts (du siehst direkt, wo die Dateien liegen). Für Datenbanken und andere Anwendungsdaten sind Named Volumes oft besser geeignet.

Häufige Fehler und wie du sie vermeidest

1. Port bereits belegt

Fehlermeldung: Error: bind: address already in use

Lösung: Prüfe mit ss -tlnp | grep :80, welcher Prozess Port 80 nutzt, und wähle einen anderen Port.

2. Berechtigungsfehler

Fehlermeldung: permission denied while trying to connect to the Docker daemon

Lösung: Sicherstellen, dass dein Benutzer in der Docker-Gruppe ist (sudo usermod -aG docker $USER), dann neu einloggen.

3. Container startet nicht

Lösung: Logs prüfen mit docker logs <container-name> – dort findest du meist die Ursache.

Nächste Schritte: Was du als nächstes lernen solltest

Du hast jetzt die Grundlagen von Docker verstanden. Hier sind sinnvolle nächste Schritte:

  • Eigene Dockerfiles erstellen: Lerne, wie du eigene Images baust
  • Netzwerke in Docker: Wie Container miteinander kommunizieren
  • Portainer installieren: Ein grafisches Web-Interface für Docker-Management
  • Docker auf Proxmox: Docker in LXC-Containern oder VMs betreiben
  • Traefik als Reverse Proxy: Mehrere Webdienste unter einer Domain verwalten

Hinweis: Dieser Artikel enthält Affiliate-Links. Wenn du über diese Links kaufst oder einen Dienst buchst, erhalte ich eine kleine Provision – für dich entstehen keine Mehrkosten.

🔔 Empfehlung: Günstiger VPS für Docker-Deployments in der Cloud → Hetzner Cloud

🔔 Empfehlung: Lokaler Homelab-Server für Docker-Experimente → Dell OptiPlex 7070 Micro Mini-PC

Fazit: Docker Tutorial für Einsteiger

Docker ist ein mächtiges Werkzeug, das deinen Homelab oder deinen Server erheblich vereinfachen kann. Mit Containern bekommst du Isolierung, Portabilität und einfaches Management – und das alles mit vergleichsweise geringem Ressourcenverbrauch.

Das Docker Tutorial für Einsteiger zeigt dir, dass der Einstieg gar nicht so schwer ist: Installation, ein paar grundlegende Befehle, und schon läuft dein erster Container. Mit Docker Compose gehst du noch einen Schritt weiter und orchestrierst mehrere Dienste elegant in einer einzigen Konfigurationsdatei.

Probier es aus – starte mit dem Nginx-Beispiel und experimentiere von dort aus. Die Docker-Community und die offizielle Dokumentation sind dabei eine hervorragende Ressource.

Hast du Fragen zu Docker oder möchtest du bestimmte Anwendungsszenarien in einem weiteren Artikel erklärt haben? Schreib es gerne in die Kommentare!

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert