Unabhängige Tests Aktualisiert April 2026 387 Self-Hosting-Guides 5 VPS-Anbieter getestet

guide

Docker Compose für Self-Hosting: Vollständige Setup-Anleitung

Beginnen Sie mit Docker Compose, um Ihre selbst gehosteten Anwendungen mühelos zu verwalten. Folgen Sie unserer detaillierten Schritt-für-Schritt-Setup-Anleitung.

Docker Compose für Self-Hosting: Vollständige Setup-Anleitung

In der Welt des Self-Hostings ist Docker Compose ein unverzichtbares Werkzeug für Entwickler, die Multi-Container-Docker-Anwendungen einfach verwalten möchten. Diese Anleitung führt Sie durch den gesamten Setup-Prozess, sodass Sie Ihre selbst gehosteten Anwendungen mit minimalem Aufwand bei Ihrem bevorzugten VPS-Anbieter bereitstellen können.

Was ist Docker Compose?

Docker Compose ist ein Befehlszeilen-Tool, das den Prozess der Definition und Ausführung von Multi-Container-Anwendungen vereinfacht. Es verwendet eine einfache YAML-Datei zur Konfiguration der Dienste, Netzwerke und Volumes Ihrer Anwendung, sodass Sie komplexe Anwendungen mit einem einzigen Befehl bereitstellen können. Diese Vereinfachung des Bereitstellungsprozesses ist besonders vorteilhaft für diejenigen, die mehrere Dienste gleichzeitig auf ihrem VPS betreiben.

Voraussetzungen

Bevor Sie in Docker Compose eintauchen, stellen Sie sicher, dass Sie Folgendes haben:

  1. Einen VPS-Anbieter: Wählen Sie aus Optionen wie Contabo VPS, Hetzner Cloud, DigitalOcean, Vultr oder Linode. Die Preise beginnen bei 4,15 EUR/Monat.
  2. Docker installiert: Sie müssen Docker auf Ihrem VPS installiert haben. Wenn nicht, können Sie es installieren, indem Sie Docks offizielle Installationsanleitung befolgen.
  3. Grundkenntnisse über die CLI: Vertrautheit mit der Befehlszeile erleichtert den Setup- und Verwaltungsprozess.

Installation von Docker Compose

Um Docker Compose zu installieren, führen Sie die folgenden Befehle in Ihrem Terminal aus:

sudo apt-get update
sudo apt-get install docker-compose

Um die Installation zu überprüfen, verwenden Sie:

docker-compose --version

Erstellen Ihrer ersten Docker Compose-Datei

Jetzt lassen Sie uns eine einfache Anwendung mit Docker Compose erstellen. Wir werden einen einfachen Webserver mit Nginx als Beispiel einrichten.

  1. Erstellen Sie ein Projektverzeichnis:

    mkdir myproject
    cd myproject
  2. Erstellen Sie docker-compose.yml: Verwenden Sie Ihren bevorzugten Texteditor, um eine docker-compose.yml-Datei zu erstellen.

version: '3'

services:
  web:
    image: nginx
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html
  1. Erstellen Sie das HTML-Verzeichnis:
    mkdir html
    echo "<h1>Hallo Welt</h1>" > html/index.html

Ausführen von Docker Compose

Um die Anwendung zu starten, führen Sie den folgenden Befehl aus:

docker-compose up -d

Dieser Befehl startet Ihren Webdienst im Hintergrund. Sie können die Protokolle mit folgendem Befehl anzeigen:

docker-compose logs

Um Ihre Dienste zu stoppen, verwenden Sie:

docker-compose down

Verwaltung von Multi-Container-Anwendungen

Docker Compose glänzt bei der Verwaltung von Multi-Container-Anwendungen. Lassen Sie uns unser docker-compose.yml erweitern, um eine Datenbank einzubeziehen. Hier ist ein aktualisiertes Beispiel:

version: '3'

services:
  web:
    image: nginx
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html

  db:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: example
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:

Diese Konfiguration richtet einen Nginx-Webserver und eine MySQL-Datenbank ein. Mit Docker Compose können Sie mehrere Dienste nahtlos betreiben.

Vergleich beliebter VPS-Anbieter

Um Ihnen bei der Auswahl des richtigen VPS für Ihre Self-Hosting-Bedürfnisse zu helfen, finden Sie hier einen Vergleich beliebter Anbieter:

AnbieterMonatlicher PreisCPU-KerneRAMSpeicher
Contabo VPS5,99 EUR24 GB100 GB SSD
Hetzner Cloud4,15 EUR12 GB20 GB SSD
DigitalOcean6 USD11 GB25 GB SSD
Vultr6 USD11 GB25 GB SSD
Linode5 USD11 GB25 GB SSD

Diese Anbieter bedienen unterschiedliche Bedürfnisse und Budgets. Für einen umfassenderen Vergleich von VPS-Optionen schauen Sie sich unseren vollständigen VPS-Vergleich an.

FAQs

Wie funktioniert Docker Compose?

Docker Compose funktioniert, indem es eine YAML-Konfigurationsdatei (docker-compose.yml) liest, die die Dienste Ihrer Anwendung sowie deren Einstellungen wie Netzwerke und Volumes beschreibt. Wenn Sie docker-compose up ausführen, erstellt es die angegebenen Container und verknüpft sie wie definiert. Dies ermöglicht eine einfache Orchestrierung von Multi-Container-Anwendungen, vereinfacht den Bereitstellungsprozess und verbessert Produktivität sowie Zuverlässigkeit.

Kann ich Docker Compose auf einem VPS mit geringer Spezifikation ausführen?

Ja, Docker Compose kann auf VPS mit geringer Spezifikation ausgeführt werden; die Leistung hängt jedoch von der Ressourcenzuteilung ab. Wenn mehrere Container mit begrenzten Ressourcen betrieben werden, z. B. auf einem VPS mit 1 GB RAM und 1 CPU-Kern, achten Sie auf minimale und effiziente Konfigurationen. Wählen Sie leichte Anwendungen. Contabo und Hetzner bieten günstigere Pläne mit ausreichenden Ressourcen, die sich für die Entwicklung und das Testen von Anwendungen eignen.

Ist Docker Compose für Produktionsumgebungen geeignet?

Absolut, Docker Compose ist für die Produktion geeignet. Stellen Sie jedoch sicher, dass Sie bewährte Praktiken anwenden, wie z. B. die Definition von Dienstabhängigkeiten und die Verwendung externer Volumes für persistente Daten. Verwenden Sie Docker Swarm oder Kubernetes auf Docker Compose, wenn Sie eine Orchestrierung im großen Maßstab benötigen. Führen Sie immer umfassende Tests durch, bevor Sie Anwendungen in die Produktion bereitstellen, um Risiken zu mindern und eine stabile Leistung sicherzustellen.

Zusammenfassend lässt sich sagen, dass Docker Compose den Prozess der Verwaltung selbst gehosteter Anwendungen vereinfacht und es zu einem unverzichtbaren Werkzeug für Entwickler macht. Mit dem richtigen VPS-Anbieter und sorgfältiger Konfiguration können Sie mehrere Anwendungen effektiv in einer containerisierten Umgebung betreiben.