Überarbeitet am 8. September 2026.
Docker gehört inzwischen zu den Werkzeugen, die ich auf meinen Servern ständig brauche. Gerade wenn man von Debian oder Ubuntu kommt, ist die Installation zwar schnell erledigt – aber viele ältere Anleitungen im Netz verwenden inzwischen veraltete Befehle. Deshalb habe ich diese Anleitung komplett überarbeitet.
Stand: September 2026. Die Schritte orientieren sich an der aktuellen offiziellen Docker-Dokumentation und funktionieren für unterstützte Debian- und Ubuntu-Versionen.
Was sind Docker und Docker Compose?
Docker startet Anwendungen in Containern. Darin stecken die Anwendung und die benötigten Abhängigkeiten, während die eigentlichen Daten zum Beispiel in Volumes liegen können. Das macht Installationen reproduzierbarer und vor allem auf Servern angenehm übersichtlich.
Docker Compose kommt ins Spiel, sobald mehrere Einstellungen oder mehrere Container zusammengehören. Statt langer Befehle landet die Konfiguration in einer compose.yml. Wichtig: Heute verwendet man normalerweise docker compose mit Leerzeichen. Das frühere docker-compose ist nicht mehr der Standardweg.
Docker unter Debian installieren
Ich nutze auf Servern überwiegend Debian. Für eine saubere Installation nehme ich das offizielle Docker-Repository und nicht das oft ältere docker.io-Paket aus den Debian-Paketquellen.
sudo apt update
sudo apt install -y ca-certificates curl
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
Danach wird das Docker-Repository eingetragen:
sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null <<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
Jetzt werden Docker Engine, die Kommandozeile, Containerd, Buildx und Docker Compose gemeinsam installiert:
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Docker unter Ubuntu installieren
Unter Ubuntu ist der Ablauf fast identisch. Der Unterschied steckt hauptsächlich in der Repository-Adresse und der Erkennung des Ubuntu-Codenamens.
sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Installation testen
Nach der Installation sollte Docker bereits laufen. Das prüfst du mit:
sudo systemctl status docker
Mit q verlässt du die Statusanzeige wieder. Anschließend kann Docker einen Testcontainer starten:
sudo docker run hello-world
Und auch Docker Compose lässt sich direkt prüfen:
docker compose version
Ein erster Docker-Compose-Test mit Nginx
Für einen schnellen Test lege ich einen kleinen Ordner mit einer compose.yml an:
mkdir -p ~/docker/nginx-test
cd ~/docker/nginx-test
nano compose.yml
In die Datei kommt dieses einfache Beispiel:
services:
web:
image: nginx:alpine
ports:
- "127.0.0.1:8080:80"
Danach starten wir den Container im Hintergrund:
docker compose up -d
docker compose ps
Auf dem gleichen Rechner erreichst du den Test anschließend unter http://127.0.0.1:8080. Mit folgendem Befehl wird alles wieder gestoppt und entfernt:
docker compose down
Wichtig bei Servern: Docker und die Firewall
Bei öffentlich erreichbaren Servern gibt es einen Punkt, den man nicht übersehen sollte: Veröffentlichte Docker-Ports können Firewall-Regeln von UFW oder firewalld umgehen. Docker selbst weist darauf ausdrücklich hin. Deshalb veröffentliche ich Dienste nach Möglichkeit nur gezielt, binde interne Dienste an 127.0.0.1 und lasse den eigentlichen Zugriff über meinen Reverse Proxy laufen.
Wer mit eigenen Firewall-Regeln arbeitet, sollte sich außerdem mit der DOCKER-USER-Chain beschäftigen. Gerade bei einem Server im Internet ist das wichtiger als irgendein hübscher Compose-Einzeiler.
Docker ohne sudo verwenden?
Man kann seinen Benutzer zur Docker-Gruppe hinzufügen und Docker anschließend ohne sudo bedienen. Das ist bequem, gibt diesem Benutzer aber praktisch sehr weitreichende Rechte auf dem System. Auf einem Server sollte man das deshalb bewusst entscheiden und nicht einfach blind aus jeder Anleitung übernehmen.
Wie geht es weiter?
Damit steht die Basis. Als Nächstes kannst du eigene Container starten, Volumes einbinden und mehrere Dienste in Compose-Dateien zusammenfassen. Passend dazu findest du auf meinem Blog auch die Anleitung Docker-Container erstellen und verwalten. Wenn dein Server irgendwann mit alten Images und ungenutzten Containern vollläuft, hilft außerdem mein Beitrag Speicherplatz bei Docker-Containern freiräumen.
Die offiziellen Installationsanleitungen von Docker findest du für Debian, Ubuntu und Docker Compose.

Gedanken dazu 0 Kommentare
Noch ist es ruhig hier. Dein Gedanke könnte der erste sein.
Was denkst du dazu?
Dein Kommentar erscheint nach der Freigabe.