Docker auf Debian installieren
Docker Engine und Docker Compose sauber aus dem offiziellen Repository installieren – die Basis für die meisten Selfhosting-Rezepte.
Inhaltsverzeichnis
Docker ist die Grundlage für fast alle Anwendungs-Tutorials in der Serverküche. Wir installieren es aus dem offiziellen Docker-Repository – nicht aus den Debian-Paketquellen.
Was bauen wir?
Am Ende läuft die aktuelle Docker Engine samt Compose-Plugin auf deinem
Debian 13, installiert aus dem offiziellen Docker-Repository. Das bringt
zwei Vorteile gegenüber dem Debian-Paket docker.io: aktuellere Versionen mit
zeitnahen Sicherheitsupdates und das offizielle docker compose, auf dem alle
Compose-Rezepte hier aufbauen.
Voraussetzungen
- Ein abgesicherter Server mit sudo-Benutzer
Schritt für Schritt
Schritt 1: Repository-Schlüssel einrichten
Installiere zunächst die Werkzeuge, um das Docker-Repository verifizieren zu können:
sudo apt update
sudo apt install -y ca-certificates curlLege dann das Schlüsselverzeichnis an und lade den GPG-Schlüssel von Docker herunter – damit prüft apt später, dass die Pakete wirklich von Docker stammen:
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.ascSchritt 2: Docker-Paketquelle hinzufügen
Trage das Docker-Repository in die Paketquellen ein. Der Befehl ermittelt Architektur und Debian-Version automatisch, du kannst ihn unverändert kopieren:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullSchritt 3: Docker installieren
Paketlisten neu einlesen (jetzt inklusive Docker-Repository) und die Engine samt Compose-Plugin installieren:
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-pluginPrüfe, dass der Dienst läuft:
sudo systemctl status dockerDu solltest active (running) sehen. Ein kurzer Funktionstest:
sudo docker run --rm hello-worldDie Ausgabe Hello from Docker! bestätigt, dass die Installation funktioniert.
Zum Schluss noch prüfen, welche Versionen tatsächlich installiert wurden – das ist die Angabe, die du bei Problemen in jedem Bugreport brauchst:
docker --version
docker compose versionDocker version 29.7.2, build a7dcaa6
Docker Compose version v5.4.0Die genauen Patch-Nummern verschieben sich laufend; entscheidend ist, dass die Engine bei 29.x und Compose bei v5.x liegt – darauf bauen die Compose-Rezepte hier auf.
Schritt 4: Docker ohne sudo nutzen
Füge deinen Benutzer der Gruppe docker hinzu, damit du nicht vor jeden Befehl
sudo setzen musst:
sudo usermod -aG docker $USERTipp
Sicherheitshinweis
docker-Gruppe haben effektiv root-Rechte auf dem Server – füge
nur deinen eigenen Admin-Benutzer hinzu, keine geteilten oder unprivilegierten
Konten.Danach funktioniert docker ps ohne sudo und zeigt eine (noch leere)
Container-Liste.
Wenn es nicht funktioniert
E: Package 'docker-ce' has no installation candidate. Die Paketquelle aus
Schritt 2 fehlt oder ist fehlerhaft – apt kennt den Namen nur aus den Abhängigkeiten
der Debian-Pakete, findet aber kein Paket dazu. Prüfe den Inhalt von
/etc/apt/sources.list.d/docker.list – dort muss deine Debian-Version (z. B.
trixie) stehen – und führe danach erneut sudo apt update aus.
permission denied while trying to connect to the docker API at unix:///var/run/docker.sock.
Die docker-Gruppenmitgliedschaft greift noch nicht. SSH-Sitzung beenden und neu
verbinden; groups muss danach docker enthalten. Falls nicht, Schritt 4
wiederholen.
Konflikte bei der Installation mit bereits vorhandenen Paketen. Auf dem System
ist schon eine andere Docker-Variante installiert (docker.io, podman-docker, …).
Alte Pakete zuerst entfernen: sudo apt remove docker.io docker-doc docker-compose podman-docker containerd runc – bestehende Container/Images bleiben dabei erhalten.
docker compose meldet docker: unknown command: docker compose. Das
Compose-Plugin fehlt – wahrscheinlich wurde Docker früher anders installiert.
sudo apt install docker-compose-plugin nachholen. Achtung: Das alte
docker-compose (mit Bindestrich) ist ein anderes, veraltetes Werkzeug.
Wartung & Backups
- Updates: Docker aktualisiert sich über das normale
sudo apt update && sudo apt upgrademit – ein Grund, warum wir das offizielle Repository nutzen. Beim Update der Engine starten laufende Container kurz neu (bzw. stoppen, bis du sie wieder startest) – plane das ein. - Aufräumen: Ungenutzte Images und Build-Reste sammeln sich schnell an.
docker system dfzeigt den Verbrauch,docker system pruneräumt auf (Vorsicht: entfernt auch gestoppte Container). - Backups: Die eigentlichen Daten deiner Anwendungen liegen später in Volumes bzw. Bind-Mounts – die Backup-Strategie dafür bauen wir mit verschlüsselten Restic-Backups und in den jeweiligen Anwendungs-Tutorials.
Zuletzt aktualisiert: 10.08.2026
Feedback per E-Mail: feedback@serverkueche.de
Wie geht's weiter?

AdGuard Home: netzwerkweiter Werbe- und Tracking-Blocker
AdGuard Home mit Docker aufsetzen: ein eigener DNS-Server, der Werbung, Tracker und Schadseiten für alle Geräte blockt – …

Stalwart: der schlanke Mailserver in einem Container
Stalwart Mail Server mit Docker aufsetzen: SMTP, IMAP, JMAP und Spam-Filter in einem einzigen, schlanken Container – die …

Eigener Mailserver mit Mailcow: Setup von Grund auf
Mailcow (dockerized) auf einem eigenen Server aufsetzen: Postfix, Dovecot, Rspamd und SOGo-Webmail unter deiner Domain – …

Restic-Backups einrichten: verschlüsselt und off-site
Off-Site-Backups mit Restic: verschlüsselt einrichten, Snapshots wiederherstellen, mit Retention aufräumen und per …

Docker Compose verstehen: Services, Volumes, Netzwerke
compose.yaml erklärt: Services, Volumes, Netzwerke und Variablen – das Docker-Vokabular, auf dem jedes App-Rezept der …
Das könnte dir auch schmecken

Docker-Netzwerke verstehen: bridge, internes DNS & das proxy-Netz
Warum deklariert jedes App-Rezept ein proxy-Netz? Dieser Guide erklärt Docker-Netzwerke, das interne DNS und …

unattended-upgrades: automatische Sicherheitsupdates für Debian
Debian installiert Sicherheitsupdates automatisch: unattended-upgrades einrichten, den Neustart steuern und prüfen, dass …

Firewall mit UFW einrichten
Mit UFW in wenigen Minuten eine Host-Firewall aufsetzen: alles blocken außer SSH, HTTP und HTTPS – ohne dich dabei …