Docker auf dem Raspberry Pi macht aus dem kleinen Rechner einen aufgeräumten Heimserver für Dienste wie Monitoring, DNS-Filter oder Home Automation. Mit einem 64-Bit-System, der offiziellen Paketquelle und Docker Compose richtest du ihn reproduzierbar ein. Dieser Leitfaden zeigt die sichere Basis, einen ersten Container und die wichtigsten Betriebsregeln.

Stand: 16.10.2026

Auf einen Blick

  • Setze nach Möglichkeit Raspberry Pi OS in 64 Bit und verwende eine SSD für Daten.
  • Installiere Docker Engine samt Compose-Plugin aus der offiziellen Docker-Paketquelle.
  • Behandle den Zugriff auf den Docker-Socket wie administrativen Zugriff.
  • Veröffentliche nur benötigte Ports und sichere persistente Volumes vor Updates.

Warum lohnt sich Docker auf dem Raspberry Pi?

Container trennen Anwendungen voneinander. Deshalb musst du nicht für jeden Dienst ein eigenes System pflegen. Konfiguration und Daten liegen nachvollziehbar in einem Projektordner und in Volumes. Das erleichtert Updates, Umzüge und Backups.

Ein Raspberry Pi eignet sich gut für kleine, dauerhaft laufende Dienste im Heimnetz. Plane jedoch die Grenzen ein: CPU-Architektur und Arbeitsspeicher müssen zum Image passen. Prüfe auf Docker Hub oder beim jeweiligen Projekt, ob ein Image für linux/arm64 bereitsteht.

Für mehrere Dienste ist Docker Compose als Einstieg sinnvoll. Eine compose.yaml beschreibt Container, Netzwerke und Volumes an einer Stelle. So startest du den gleichen Stack später wieder, statt lange docker run-Befehle zu suchen.

Welche Hardware und welches System brauchst du?

Ein aktueller Raspberry Pi mit 64-Bit-Unterstützung ist die praktische Wahl. Nutze Raspberry Pi OS Lite 64 Bit oder ein anderes unterstütztes ARM64-Linux. Eine per USB angeschlossene SSD ist für häufig schreibende Anwendungen robuster als eine SD-Karte. Sichere Stromversorgung und Netzwerk sind ebenfalls wichtiger als eine grafische Oberfläche.

BereichEmpfehlungWarum
ArchitekturARM64Viele aktuelle Container-Images werden dafür angeboten.
DatenträgerSSD für Daten und VolumesSie reduziert die Belastung einer SD-Karte.
SystemAktuelles Raspberry Pi OS Lite 64 BitWeniger Ballast und gute Eignung für einen Server.
NetzwerkFeste DHCP-ZuordnungDienste bleiben im Heimnetz zuverlässig erreichbar.

Wichtig: Docker dokumentiert für 32-Bit Raspberry Pi OS, dass Docker Engine v28 die letzte unterstützte Hauptversion ist. Ab v29 erscheinen dafür keine neuen Pakete mehr. Ein neues Setup sollte daher nicht auf 32 Bit beruhen. Für 64 Bit verweist Docker auf die Debian-ARM64-Pakete.

Docker auf dem Raspberry Pi installieren

Die folgenden Schritte gelten für ein frisches 64-Bit Raspberry Pi OS auf Debian-Basis. Die offizielle Paketquelle ist besser für einen dauerhaft betriebenen Server geeignet als das Komfortskript. Dieses empfiehlt Docker nur für Test- und Entwicklungsumgebungen.

  1. Aktualisiere zunächst die Paketlisten und installiere die benötigten Werkzeuge.
sudo apt update
sudo apt install ca-certificates curl
  1. Lege den Schlüsselring an und lade den offiziellen Docker-Schlüssel herunter.
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
  1. Füge die Paketquelle passend zur Architektur und zur Debian-Version hinzu.
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
  1. Installiere Engine, Buildx und das Compose-Plugin.
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Auf einem bestehenden System entfernst du zuvor gegebenenfalls kollidierende Pakete wie docker.io, docker-compose, containerd oder runc. Docker weist darauf hin, dass vorhandene Images, Container und Volumes unter /var/lib/docker dabei nicht automatisch gelöscht werden. Sichere sie deshalb vor Änderungen.

Wie prüfst du Docker und Compose?

Zuerst sollte der Dienst aktiv sein. Falls er nicht läuft, starte ihn über systemd. Anschließend lädt der Testcontainer ein kleines Image, gibt eine Meldung aus und beendet sich wieder.

sudo systemctl status docker
sudo docker run hello-world
docker compose version

Wenn du Docker ohne sudo nutzen möchtest, füge deinen Benutzer zur Gruppe docker hinzu und melde dich vollständig neu an. Alternativ aktiviert newgrp docker die neue Gruppe in einer Shell.

sudo usermod -aG docker $USER
newgrp docker
docker run hello-world

Das ist bequem, aber keine harmlose Berechtigung: Zugriff auf den Docker-Socket entspricht in der Praxis weitreichenden Root-Rechten auf dem Host. Gib diese Gruppe daher nur vertrauenswürdigen lokalen Konten. Für stärkere Trennung ist der von Docker dokumentierte Rootless-Modus eine Option.

Erster Dienst mit Docker Compose

Lege für jeden Dienst einen eigenen Ordner an. Das folgende Beispiel startet einen schlanken Webserver, bindet ihn nur an Port 8080 und verwendet einen Neustart-Mechanismus. Ein Tag statt latest macht Updates planbarer, weil du die Version bewusst änderst.

mkdir -p ~/stacks/webtest
cd ~/stacks/webtest
nano compose.yaml
services:
  web:
    image: nginx:1.28-alpine
    ports:
      - "8080:80"
    restart: unless-stopped
docker compose up -d
docker compose ps
docker compose logs --tail=50 web

Rufe danach http://IP-DEINES-PI:8080 aus dem Heimnetz auf. Beende und entferne den Test wieder mit docker compose down. Für Anwendungen mit Datenbank oder Konfiguration ergänzt du benannte Volumes und sicherst deren Inhalte regelmäßig. Eine konkrete Anleitung dafür findest du bei Docker-Volumes mit Restic sichern.

Lege die Compose-Datei in eine Versionsverwaltung, aber schließe Geheimnisse aus. Eine .env-Datei ist für Variablen praktisch, ersetzt jedoch kein Secret-Management. Dokumentiere außerdem, welche Ports ein Stack belegt. Dann findest du Konflikte und unerwartete Freigaben bei der Wartung schneller.

Welche Sicherheitsregeln gelten im Heimnetz?

Öffne keine Router-Portweiterleitung, nur um ein Dashboard von unterwegs zu erreichen. Nutze stattdessen einen VPN-Zugang oder einen sauber abgesicherten Reverse Proxy. Für einen Einstieg in sichere Images helfen die Dockerfile Best Practices.

  • Veröffentliche nur Ports, die ein Dienst wirklich benötigt.
  • Lege Zugangsdaten nicht in ein Image und nicht unverschlüsselt in ein Git-Repository.
  • Prüfe Images vor dem Einsatz auf ARM64-Unterstützung und Herkunft.
  • Aktualisiere Images kontrolliert, lies Changelogs und teste danach den Dienst.
  • Sichere Daten und teste mindestens einmal die Wiederherstellung.

Beachte außerdem die Firewall-Eigenheit von Docker: Veröffentlicht ein Container einen Port, können Docker-Regeln Regeln von UFW oder firewalld umgehen. Docker empfiehlt für zusätzliche Filterregeln die Kette DOCKER-USER; reine nft-Regeln werden laut Dokumentation nicht unterstützt. Kontrolliere deshalb nach jedem neuen Stack die tatsächlich erreichbaren Ports.

Fazit

Docker auf dem Raspberry Pi ist eine gute Grundlage für überschaubares Self-Hosting, wenn du 64 Bit, offizielle Pakete und klar getrennte Compose-Projekte nutzt. Entscheidend sind nicht möglichst viele Container, sondern dokumentierte Konfiguration, begrenzte Zugriffe und getestete Backups. So bleibt der Pi auch nach Updates wartbar.

Quellen

Häufige Fragen

Welches Betriebssystem eignet sich für Docker auf dem Raspberry Pi?

Für neue Setups ist Raspberry Pi OS Lite in 64 Bit eine sinnvolle Wahl. Docker verweist für 64-Bit-ARM auf die Debian-ARM64-Pakete.

Läuft Docker noch auf 32-Bit Raspberry Pi OS?

Docker dokumentiert v28 als letzte unterstützte Hauptversion für 32-Bit Raspberry Pi OS. Ab v29 werden dafür keine neuen Pakete bereitgestellt.

Warum soll ich Docker Compose verwenden?

Compose hält Images, Ports, Volumes und Netzwerke als Datei fest. Dadurch kannst du einen Stack nachvollziehbar starten, prüfen und aktualisieren.

Ist die Docker-Gruppe sicher?

Mitglieder der Docker-Gruppe können über den Docker-Socket weitreichende Rechte auf dem Host erhalten. Füge deshalb nur vertrauenswürdige lokale Konten hinzu.

Wie aktualisiere ich Container auf dem Raspberry Pi?

Sichere zuerst die Daten und lies die Release Notes. Danach ziehst du im Projektordner neue Images und startest kontrolliert neu, zum Beispiel mit docker compose pull und docker compose up -d.