KVM VPSKVM VPS

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
Debian oder Ubuntu?

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.

Die docker-Gruppe = Root-Rechte

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
prune ist endgültig

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

  • Wenn ein Befehl fehlschlägt oder ein Container nicht startet, ist unser Support da: Öffnen Sie ein Ticket oder kommen Sie auf Discord vorbei.

Häufig gestellte Fragen

Zurück zu KVM VPS
War dieser Artikel hilfreich?
Willkommensangebot

Registriere dich jetzt und sichere dir 10 % Rabatt auf deine erste Bestellung mit dem Gutscheincode: WILLKOMMEN

Logo LordHostingLordhosting ist eine SASU mit einem Kapital von 1 000 €. SIREN 105 383 988 RCS Paris.