Spawnpunkt
Frachtcontainer im Hafen — Docker verpackt Anwendungen nach demselben Prinzip
Container

Docker + Docker Compose Grundlagen

von Spawnpunkt System·09/04/2026
Linux Tutorial

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.

Offizielles Docker-RepoErster eigener Containerdocker-compose.yml Beispiel
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:

bash
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.gpg

Dann das Repository eintragen und Docker samt Compose-Plugin installieren:

bash
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-plugin

Auf 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.

bash
sudo usermod -aG docker $USER
# danach aus- und wieder einloggen, damit die Gruppe aktiv wird

Installation testen

bash
sudo docker run hello-world

Erscheint "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):

bash
docker compose version

Den ersten Container starten

bash
docker run -d --name meine-nginx -p 8080:80 nginx:alpine

Das 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:

yaml
services:
  web:
    image: nginx:alpine
    ports:
      - "8080:80"
    restart: unless-stopped
bash
mkdir ~/meine-app && cd ~/meine-app
# docker-compose.yml mit obigem Inhalt anlegen, dann:
docker compose up -d
docker compose ps
docker compose logs -f

Zum Stoppen und Entfernen der Container (die Images bleiben lokal erhalten):

bash
docker compose down

Nützliche Befehle

Docker-Referenz

Laufende Container anzeigen
docker ps
Alle Container anzeigen, auch gestoppte
docker ps -a
Lokale Images anzeigen
docker images
Live-Logs eines Containers
docker logs -f <name>
Container stoppen
docker stop <name>
Gestoppten Container entfernen
docker rm <name>
Ungenutzte Images/Container/Netzwerke aufräumen
docker system prune -a

Docker 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.

Docker installiertCompose-Plugin bereitErster Container getestet