
Docker + Docker Compose Grundlagen
Docker verpackt Anwendungen samt aller Abhängigkeiten in isolierte Container — praktisch für Gameserver, Webdienste und alles, was sich sonst mit dem restlichen System in die Quere kommt.
- Betriebssystem
- Ubuntu / Debian
- Schwierigkeit
- Einsteiger
- Dauer
- ~20 Minuten
Was ist Docker?
Docker startet Anwendungen in isolierten Containern statt sie direkt auf dem System zu installieren. Jeder Container bringt seine eigenen Bibliotheken und Abhängigkeiten mit, läuft aber im Kernel des Hosts — deutlich leichtgewichtiger als eine komplette virtuelle Maschine. Docker Compose beschreibt mehrere zusammengehörige Container (z. B. eine Anwendung + Datenbank) in einer einzigen YAML-Datei.
Voraussetzungen
- 64-Bit Ubuntu 22.04/24.04 oder Debian 11/12
- sudo-/Root-Zugriff auf den Server
- Mindestens 1 GB RAM frei
Docker installieren
Wir nutzen das offizielle Docker-Repository statt der oft veralteten Distributions-Pakete. Zuerst die Voraussetzungen und den GPG-Schlüssel einrichten:
sudo apt update
sudo apt install -y ca-certificates curl gnupg
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.gpgDann das Repository eintragen und Docker samt Compose-Plugin installieren:
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
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginAuf Debian statt Ubuntu einfach beide "ubuntu" durch "debian" in den zwei URLs oben ersetzen — der Rest ist identisch.
Docker ohne sudo nutzen: den eigenen User zur docker-Gruppe hinzufügen und neu einloggen. Mitglieder dieser Gruppe können effektiv Root-Rechte auf dem System erlangen — nur vertrauenswürdigen Accounts geben.
sudo usermod -aG docker $USER
# danach aus- und wieder einloggen, damit die Gruppe aktiv wirdInstallation testen
sudo docker run hello-worldErscheint "Hello from Docker!", funktioniert die Installation. Die Compose-Version prüft man mit dem folgenden Befehl (Docker Compose ist heute ein Plugin des docker-Befehls, kein eigenständiges Programm mehr):
docker compose versionDen ersten Container starten
docker run -d --name meine-nginx -p 8080:80 nginx:alpineDas lädt das nginx-Image herunter, startet einen Container im Hintergrund (-d) und macht Port 80 im Container unter Port 8080 auf dem Host erreichbar. Ein Aufruf von http://server-ip:8080 zeigt jetzt die nginx-Startseite.
Docker Compose: mehrere Container zusammen verwalten
Für alles, was aus mehr als einem Container besteht (oder das man reproduzierbar dokumentieren will), lohnt sich eine docker-compose.yml statt einzelner docker run-Befehle. Beispiel für denselben nginx-Container:
services:
web:
image: nginx:alpine
ports:
- "8080:80"
restart: unless-stoppedmkdir ~/meine-app && cd ~/meine-app
# docker-compose.yml mit obigem Inhalt anlegen, dann:
docker compose up -d
docker compose ps
docker compose logs -fZum Stoppen und Entfernen der Container (die Images bleiben lokal erhalten):
docker compose downNützliche Befehle
Docker-Referenz
docker psdocker ps -adocker imagesdocker logs -f <name>docker stop <name>docker rm <name>docker system prune -aDocker läuft
Docker und Docker Compose sind installiert, der erste Container läuft. Als Nächstes: Uptime Kuma oder einen Gameserver in einem Container betreiben, oder Nginx als Reverse-Proxy davorschalten.

