TL;DR: Docker ist eine leistungsstarke Plattform zur Containerisierung von Anwendungen. Diese Anleitung zeigt dir Schritt für Schritt, wie du Docker auf einem Linux-System (Debian/Ubuntu) aus der offiziellen Paketquelle installierst und deine ersten Container startest.
Voraussetzungen
- Ein Linux-Server mit Debian oder Ubuntu
- Root-Zugriff
- Mindestens 2 GB RAM
- Aktive Internetverbindung
- SSH-Client (Termius empfohlen)
Server-Tipp: Lifetime-Server von ZAP-Hosting
Für Docker-Projekte empfehle ich die Lifetime-Server von ZAP-Hosting. Mit einer einmaligen Zahlung erhältst du einen Server ohne monatliche Kosten. Mehr Details findest du in meinem Artikel über Lifetime-Server: kaufen statt mieten.
Was ist Docker?
Docker ist eine Open-Source-Plattform, die:
- Anwendungen in isolierte Container verpackt
- Konsistente Entwicklungs- und Produktionsumgebungen ermöglicht
- Ressourcen effizient nutzt und eine schnelle Bereitstellung erlaubt
Vorteile von Docker
- Schnelle Bereitstellung von Anwendungen
- Konsistente Umgebungen
- Einfache Versionierung
- Geringe Ressourcennutzung
- Einfache Skalierung

Installationsschritte
Die folgenden Befehle folgen der offiziellen Installationsanleitung von Docker und nutzen die Paketquelle von Docker selbst. Die Pakete aus den Distributionsquellen (etwa docker.io) hinken der aktuellen Docker-Version oft hinterher.
1. System aktualisieren
apt updateapt upgrade -y2. Alte oder konkurrierende Pakete entfernen
Falls auf dem Server schon inoffizielle Docker-Pakete installiert sind, entferne sie vorher. Ist keines davon vorhanden, meldet apt das nur und du kannst weitermachen:
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do apt remove -y $pkg; done3. Benötigte Pakete installieren
apt install ca-certificates curl -y4. Docker GPG-Schlüssel hinzufügen
install -m 0755 -d /etc/apt/keyringscurl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.ascchmod a+r /etc/apt/keyrings/docker.asc5. Docker Repository einrichten
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" | \ tee /etc/apt/sources.list.d/docker.list > /dev/nullHinweis für Ubuntu: Ersetze in Schritt 4 und Schritt 5 jeweils linux/debian durch linux/ubuntu. Der Rest der Anleitung ist identisch.
6. Docker Engine installieren
apt updateapt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y7. Docker-Dienst starten und aktivieren
Unter Debian und Ubuntu startet der Dienst nach der Installation in der Regel automatisch. Mit diesem Befehl stellst du sicher, dass er läuft und auch nach einem Neustart wieder startet:
systemctl enable --now docker8. Installation überprüfen
docker --versiondocker compose versiondocker run hello-worldErste Schritte mit Docker
Docker-Container erstellen
# Nginx-Container startendocker run -d -p 80:80 nginx # MySQL-Container mit Passwortdocker run -d --name mysql-server -e MYSQL_ROOT_PASSWORD=meinSicheresPasswort mysqlDocker Compose
Docker Compose ist mit dem Paket docker-compose-plugin bereits installiert und wird als docker compose (mit Leerzeichen) aufgerufen. Das frühere eigenständige Programm docker-compose brauchst du nicht mehr.
Erstelle eine docker-compose.yml:
services: web: image: nginx ports: - "80:80" database: image: mysql environment: MYSQL_ROOT_PASSWORD: meinSicheresPasswortDie früher übliche Zeile version: '3' am Anfang der Datei ist veraltet und wird von aktuellen Compose-Versionen ignoriert.
Starten mit:
docker compose up -dWenn du deine Container lieber im Browser statt auf der Kommandozeile verwaltest, lohnt sich ein Blick auf meine Anleitung zu Portainer als Weboberfläche für Docker.
Sicherheitshinweise
Bevor Docker produktiv läuft, sollte der Server selbst abgesichert sein. Wie das geht, zeige ich in Linux vServer absichern. Wichtig: Veröffentlichte Docker-Ports umgehen die UFW-Firewall.
- Verwende immer offizielle Images
- Halte Docker und Images aktuell
- Nutze einen normalen Benutzer statt root für die tägliche Arbeit
- Beschränke Netzwerkzugriff
- Scanne Images auf Sicherheitslücken
Troubleshooting
Häufige Probleme
-
Permission denied Lösung: Füge deinen Benutzer zur Docker-Gruppe hinzu (ersetze
deinbenutzerdurch deinen Benutzernamen) und melde dich danach einmal ab und wieder an:bashusermod -aG docker deinbenutzerBeachte: Mitglieder der Gruppe
dockerhaben faktisch Root-Rechte auf dem System. Nimm dort also nur Benutzer auf, denen du entsprechend vertraust. -
Docker-Dienst startet nicht Überprüfe Systemlogs:
bashjournalctl -u docker.service
Fazit
Mit dieser Anleitung hast du Docker aus der offiziellen Paketquelle auf deinem Linux-System installiert und erste Container gestartet. Docker ist die Grundlage für viele Self-Hosting-Projekte: Wenn du deine Anwendungen komfortabel per Git-Push deployen möchtest, zeigt dir meine Anleitung, wie du Coolify als eigene Deployment-Plattform installierst. Was im laufenden Betrieb zu beachten ist, habe ich in Coolify im Betrieb: Erfahrungen und Stolperfallen zusammengefasst.