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:
- 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.
- Docker installiert: Sie müssen Docker auf Ihrem VPS installiert haben. Wenn nicht, können Sie es installieren, indem Sie Docks offizielle Installationsanleitung befolgen.
- 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.
-
Erstellen Sie ein Projektverzeichnis:
mkdir myproject cd myproject -
Erstellen Sie
docker-compose.yml: Verwenden Sie Ihren bevorzugten Texteditor, um einedocker-compose.yml-Datei zu erstellen.
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html
- 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:
| Anbieter | Monatlicher Preis | CPU-Kerne | RAM | Speicher |
|---|---|---|---|---|
| Contabo VPS | 5,99 EUR | 2 | 4 GB | 100 GB SSD |
| Hetzner Cloud | 4,15 EUR | 1 | 2 GB | 20 GB SSD |
| DigitalOcean | 6 USD | 1 | 1 GB | 25 GB SSD |
| Vultr | 6 USD | 1 | 1 GB | 25 GB SSD |
| Linode | 5 USD | 1 | 1 GB | 25 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.