Docker und Docker Compose auf einem Linux-VPS installieren
Vollständige Anleitung zur Installation von Docker und Docker Compose auf einem Linux-VPS bei Lordhosting: offizielles Repository, Ausführung ohne sudo, erste docker-compose.yml und Portainer-Deployment.
Docker ist zum Standardwerkzeug geworden, um Anwendungen isoliert und reproduzierbar bereitzustellen: Ein Gameserver, eine Datenbank, ein Discord-Bot oder ein Panel wie Pterodactyl leben jeweils in ihrem eigenen Container, ohne das Host-System zu belasten. Diese Anleitung installiert Docker Engine und Docker Compose auf einem Debian- oder Ubuntu-VPS aus dem offiziellen Repository und stellt anschließend einen ersten Container bereit, um alles zu prüfen.
⚙️ Voraussetzungen
- Ein Lordhosting-KVM-VPS (Debian 11/12 oder Ubuntu 22.04/24.04 empfohlen)
- SSH-Zugang mit einem Benutzer, der
sudo-Rechte besitzt - Idealerweise ein bereits abgesicherter VPS — siehe unsere Anleitung Linux-VPS absichern
⚙️ 1. System aktualisieren
Beginnen Sie immer damit, die installierten Pakete zu aktualisieren und die für das Docker-Repository nötigen Abhängigkeiten hinzuzufügen:
sudo apt update && sudo apt upgrade -y
sudo apt install -y ca-certificates curl gnupg
⚙️ 2. Das offizielle Docker-Repository hinzufügen
Das offizielle Repository garantiert eine aktuelle Version, anders als das oft veraltete Paket docker.io aus den Debian-Repos. Fügen Sie den GPG-Schlüssel hinzu:
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Die obigen Befehle zielen auf Debian. Ersetzen Sie unter Ubuntu debian durch ubuntu in der URL des GPG-Schlüssels und in der Repository-Zeile unten. Der Rest bleibt identisch.
Fügen Sie anschließend das Repository zu Ihren APT-Quellen hinzu:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
⚙️ 3. Docker Engine und Compose installieren
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Das Paket docker-compose-plugin liefert den modernen Befehl docker compose (in zwei Wörtern) — mehr müssen Sie nicht installieren.
⚙️ 4. Installation überprüfen
sudo docker run hello-world
docker compose version
Wenn hello-world seine Willkommensmeldung anzeigt und die Compose-Version erscheint, ist Docker einsatzbereit.
⚙️ 5. Docker ohne sudo ausführen (optional)
Um nicht bei jedem Befehl sudo einzugeben, fügen Sie Ihren Benutzer zur Gruppe docker hinzu:
sudo usermod -aG docker $USER
Melden Sie sich ab und wieder an (oder führen Sie newgrp docker aus), damit die Änderung wirksam wird.
Jedes Mitglied der Gruppe docker kann Root-Zugriff auf der Maschine erlangen. Fügen Sie nur vertrauenswürdige Benutzer hinzu.
⚙️ 6. Ihre erste docker-compose.yml
Compose beschreibt einen vollständigen Stack in einer einzigen Datei. Erstellen Sie einen Ordner und eine Datei:
mkdir ~/portainer && cd ~/portainer
nano docker-compose.yml
Fügen Sie dieses Beispiel ein, das Portainer bereitstellt, eine Weboberfläche zur bequemen Verwaltung Ihrer Container:
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
restart: unless-stopped
ports:
- "9443:9443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
volumes:
portainer_data:
Starten Sie den Stack:
docker compose up -d
Portainer ist unter https://ihre_ip:9443 erreichbar. Denken Sie daran, den entsprechenden Port in Ihrer Firewall zu öffnen:
sudo ufw allow 9443/tcp
⚙️ 7. Wichtige Docker-Befehle
docker ps # laufende Container
docker ps -a # alle Container, auch gestoppte
docker logs -f <name> # Logs eines Containers verfolgen
docker compose up -d # einen Stack im Hintergrund starten
docker compose down # den Stack stoppen und entfernen
docker compose pull # Images aktualisieren
docker exec -it <name> bash # eine Shell in einem Container öffnen
⚙️ 8. Wartung und Aufräumen
Ungenutzte Images und Volumes sammeln sich an und füllen die Festplatte. Ein regelmäßiges Aufräumen lohnt sich:
docker system df # von Docker belegten Speicher anzeigen
docker system prune -a # ungenutzte Images, Container und Netzwerke entfernen
docker system prune -a entfernt alle Images, die von keinem laufenden Container genutzt werden. Stellen Sie sicher, dass kein gestoppter, aber nützlicher Stack davon abhängt, bevor Sie den Befehl ausführen.
✅ Fazit
Sie haben nun einen VPS, der bereit ist, jede containerisierte Anwendung auszuführen: eine aktuelle Docker Engine, integriertes Compose, Ausführung ohne sudo und einen ersten Portainer-Stack, um alles zu steuern. Der logische nächste Schritt ist die Installation eines Game-Panels wie Pterodactyl oder das Bereitstellen eigener Dienste — jeweils in einem sauber isolierten Container.
Noch keinen Server für Ihre Container? Entdecken Sie unsere leistungsstarken Ryzen-VPS, KVM-basiert und in wenigen Minuten mit vollem Root-Zugriff bereitgestellt.
❗Immer gut zu wissen

