Ein Docker-Container allein reicht für den Betrieb nicht aus: Dazu benötigen Sie auch einen entsprechend konfigurierten VPS. Der Einsatz von Docker auf einem VPS wird dann berechenbar, wenn die Serverressourcen den Anforderungen der Anwendung entsprechen und Sie die Zugriffsrechte sowie die Netzwerkports bewusst verwalten.
Möglicherweise stellen Sie sich die Frage, welche Größe eines Linux-VPS ausreichend ist, wie Docker installiert wird und wie Container sicher gestartet und aktualisiert werden können. In dieser Anleitung gehen wir die Auswahl des Servers und die Grundeinstellungen durch und stellen anschließend die wichtigsten Schritte zum Starten und zur Wartung von Anwendungen vor.
Es geht um die Verwendung von Docker Compose, die Einschränkung offener Ports, die Verwaltung von Berechtigungen sowie die Auswahl zuverlässiger Container-Images. Auf diese Weise können Sie eine übersichtlichere Docker-Umgebung auf einem Linux-VPS einrichten und die Aktualisierung Ihrer Anwendungen sowie den Schutz Ihres Servers besser nachverfolgen.
Die Verwendung von Docker auf einem VPS: Wann ist diese Konfiguration sinnvoll?
Docker verpackt Anwendungen und die für deren Ausführung erforderlichen Abhängigkeiten in isolierte Container. Auf diese Weise können die Anwendung und ihre Umgebung gemeinsam installiert werden, was einen konsistenten Betrieb zwischen Entwicklungs-, Test- und Produktionsumgebungen erleichtert. Ein Überblick über die Grundprinzipien von [Docker](https://en.wikipedia.org/wiki/Docker_(software) hilft dabei zu verstehen, wie die Containerausführung dadurch portabler wird.
Ein VPS ist eine virtuelle Serverumgebung, in der Sie das Betriebssystem verwalten, die für Docker erforderlichen Komponenten installieren und die Anwendungen konfigurieren können. Ein Docker-Container ist kein separater virtueller Server: Er isoliert die Anwendung und ihre Abhängigkeiten von anderen Prozessen, nutzt dabei jedoch die Ressourcen des Betriebssystems des VPS. Der Einsatz von Docker auf einem VPS ist daher dann sinnvoll, wenn Ihnen die serverseitige Kontrolle und ein wiederholbarer Installationsprozess wichtig sind.
Typische Anwendungsfälle:
- Webanwendung: Die Anwendung und die für den Betrieb erforderlichen Komponenten können in separaten Containern ausgeführt werden.
- Datenbank: Sie kann in einer isolierten Umgebung gestartet werden; zur Datensicherung muss eine dauerhafte Datenspeicherung eingerichtet werden.
- Entwicklungsumgebung: Die vorab festgelegten Abhängigkeiten tragen dazu bei, die Entwicklungs- und Testumgebung konsistenter zu gestalten.
Worin unterscheiden sich Docker-Container und virtuelle Maschinen?
Die virtuelle Maschine führt ein eigenes Gastbetriebssystem auf der Virtualisierungsschicht aus. Der Container hingegen enthält keinen eigenen Betriebssystemkern, sondern nutzt den Kern des VPS-Systems. Beide sorgen für Isolation, jedoch auf unterschiedliche Weise: Die virtuelle Maschine bietet eine vollständige Betriebssystemumgebung, während der Container in erster Linie die Anwendung und deren Abhängigkeiten isoliert. Das Starten von Containern erfordert in der Regel weniger Systemressourcen, dies hängt jedoch auch von der jeweiligen Anwendung und den Einstellungen ab.
Wann empfiehlt es sich, für Docker einen VPS zu wählen?
Docker und VPS können eine gute Wahl sein, wenn Sie mehrere Dienste isoliert ausführen möchten oder dieselbe Konfiguration bei Installationen wiederverwenden möchten. Ein VPS bietet Ihnen mehr Kontrolle auf Serverseite als ein Webhosting-Paket, bei dem Sie die Einstellungen des Betriebssystems nicht selbst verwalten. Allerdings müssen Sie sich in diesem Fall selbst um System-Updates, die Einschränkung von Zugriffsrechten, die Konfiguration der Ports und die Wartung der Container kümmern.
aWh bietet Linux-VPS- und KVM-VPS-Lösungen an. Berücksichtigen Sie bei der Auswahl der geeigneten Umgebung den Ressourcenbedarf Ihrer Anwendung sowie die von Ihnen übernommenen Betriebsaufgaben. Informationen zur Funktionsweise der Virtualisierung finden Sie auf der Seite „Möglichkeiten von KVM-VPS“.
Installation von Docker auf einem Linux-VPS: Vorbereitungen und Schritt-für-Schritt-Anleitung
Bitte überprüfen Sie vor der Installation, ob die Linux-Distribution und deren Version in der aktuellen Unterstützungsliste von Docker aufgeführt sind. Debian 13 oder Ubuntu 26.04 LTS kommen ebenfalls in Frage, doch befolgen Sie bei der Installation stets die offiziellen Anleitungen der jeweiligen Distribution und Version. Die folgenden Befehle sind für Debian vorgesehen; kopieren Sie sie nicht unverändert auf andere Systeme.
Was sollten Sie vor der Installation von Docker überprüfen?
Melden Sie sich zunächst per SSH bei Ihrem VPS an und überprüfen Sie, ob Sie über die erforderlichen Administratorrechte verfügen. Aktualisieren Sie die Paketliste und die installierten Systempakete:
sudo apt update && sudo apt upgrade
Schätzen Sie anschließend den voraussichtlichen Bedarf der Anwendung an CPU-Leistung, Arbeitsspeicher und Speicherplatz ein. Berücksichtigen Sie dabei auch den Speicherplatzbedarf für Datenbanken und Protokolldateien. Docker hebt die Ressourcenbeschränkungen des VPS nicht auf; daher muss die gewählte Umgebung die gesamte Auslastung der Anwendung bewältigen können. Planen Sie auch die Zugriffsrechte: Verwenden Sie das Administratorkonto nur für die erforderlichen Vorgänge und halten Sie die SSH-Zugangsdaten griffbereit.
Wie installieren und testen Sie Docker?
Richten Sie das offizielle Docker-Repository unter Debian ein. Mit den folgenden Schritten laden Sie den Signaturschlüssel des Repositorys herunter und fügen anschließend die offizielle stabile Paketquelle hinzu:
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null
Aktualisieren Sie die Paketliste erneut und installieren Sie anschließend die Engine, den Befehlszeilen-Client und die Erweiterungen:
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Starten Sie nach der Installation den Dienst und überprüfen Sie anschließend die Version des Clients und des im Hintergrund laufenden Dienstes:
sudo systemctl enable --now docker
sudo systemctl status docker
sudo docker version
Führen Sie abschließend den Test-Container aus: sudo docker run --rm hello-world. Ein erfolgreiches Ergebnis bestätigt, dass Docker das Test-Image herunterladen und starten konnte. Gewähren Sie nicht automatisch allen Benutzern Zugriff auf den Docker-Dienst. Für die sichere Verwaltung von Berechtigungen ist der OWASP-Sicherheitsleitfaden für Docker hilfreich. Um bei der Nutzung von Docker auf einem VPS die passende Linux-Umgebung auszuwählen, sehen Sie sich bitte auch die Linux-VPS-Angebote von aWh an.
Docker Compose auf einem VPS: Starten von Anwendungen, Ports und Daten
Docker Compose beschreibt die zugehörigen Dienste, Netzwerke und Volumes in einer YAML-Datei. Auf diese Weise können der Server und die Datenbank einer Webanwendung über eine gemeinsame Konfiguration gestartet, überwacht und heruntergefahren werden. Verwenden Sie den Befehl „docker compose“ und nicht die veraltete Form „docker-compose“ mit Bindestrich. Die Befehle und Konfigurationsmöglichkeiten können je nach installierter Compose-Version variieren; überprüfen Sie daher bitte die aktuelle Dokumentation. Die bewährten Verfahren von Docker bieten weitere Anhaltspunkte für die Gestaltung der Konfiguration.
Wie verwaltet man mehrere Dienste mit Docker Compose?
Das folgende Beispiel beschreibt einen Webserver und eine Datenbank. Durch die Portweiterleitung ist der Webdienst nur über die lokale Netzwerkschnittstelle des VPS erreichbar:
services:
web:
image: nginx:stable
ports:
- "127.0.0.1:8080:80"
adatbazis:
image: postgres
volumes:
- adatbazis_adatok:/var/lib/postgresql/data
volumes:
adatbazis_adatok:
Das Beispiel veranschaulicht den Aufbau und stellt keine vollständige, für den produktiven Einsatz geeignete Anwendungskonfiguration dar. Bitte sichern Sie vor dem produktiven Einsatz die Versionsnummern der Images und tragen Sie Passwörter nicht direkt in die Datei ein.
Überprüfen Sie nach dem Speichern der Datei zunächst die Konfiguration und starten Sie anschließend die Dienste im Hintergrund:
docker compose config
docker compose up -d
docker compose ps
docker compose logs -f web
Der Befehl „config“ zeigt Konfigurationsfehler an, „ps“ gibt Auskunft über den Status der Dienste, und das Protokoll hilft Ihnen dabei, Startprobleme aufzudecken. Die Portweiterleitung 8080:80 kann den Port auf allen Netzwerkschnittstellen des VPS öffentlich zugänglich machen; wenden Sie diese daher nur in begründeten Fällen an. Lassen Sie nicht benötigte Ports geschlossen und lassen Sie in der Firewall nur den erforderlichen Datenverkehr zu.
Wie bleiben die Daten der Anwendung nach einem Neustart erhalten?
Da es sich bei dem Container um eine wiederherstellbare Ausführungsumgebung handelt, werden der Inhalt der Datenbank sowie die von den Nutzern hochgeladenen Dateien in einem Volume oder auf einem entsprechend eingebundenen, dauerhaften Speicherort gespeichert. Somit bedeutet ein Wechsel des Dienstes nicht automatisch, dass die Daten gelöscht werden. Der Befehl „docker compose down“ stoppt und entfernt die Container, behält jedoch standardmäßig die benannten Volumes bei. Der Befehl „docker compose down -v“ entfernt hingegen auch die Volumes und kann daher zu Datenverlusten führen.
Dieses Handbuch ersetzt kein Backup. Erstellen Sie regelmäßig Sicherungskopien Ihrer Daten und testen Sie von Zeit zu Zeit die Wiederherstellung. Die Nutzung von Docker auf einem VPS bedeutet daher nicht nur das Starten von Anwendungen, sondern auch die Planung des Backups und der Wiederherstellung.
Docker auf einem VPS: Sicherheit, Updates und Fehlerbehebung
Um die Sicherheit der Docker-Umgebung zu gewährleisten, müssen sowohl das Betriebssystem des VPS als auch die Docker Engine und die Container-Images regelmäßig gewartet werden. Die Nutzung von Docker auf einem VPS beschränkt sich nicht auf eine einmalige Installation: Regelmäßige Updates und Überprüfungen tragen dazu bei, das Risiko bekannter Schwachstellen, fehlerhafter Konfigurationen und unerwarteter Ausfälle zu verringern.
Welche Sicherheitseinstellungen sollten Sie überprüfen?
Lesen Sie vor dem Update die Versionshinweise und erstellen Sie eine Sicherungskopie der persistenten Daten Ihrer Anwendung. Aktualisieren Sie anschließend das System über den Linux-Paketmanager und die Engine sowie die zugehörigen Komponenten über die offizielle Docker-Paketquelle. Laden Sie im Compose-Projekt die aktualisierten Versionen der Images herunter und starten Sie die Dienste anschließend in kontrollierter Weise neu. Verwenden Sie bei einer Produktionsanwendung ein festes Image-Tag oder einen kontrollierten Image-Digest für eine nachvollziehbare, unveränderliche Installation und nicht das sich automatisch ändernde „latest“-Tag.
Wählen Sie gepflegte Images aus zuverlässigen Quellen aus und erteilen Sie dem Container nur die für den Betrieb erforderlichen Berechtigungen. Vermeiden Sie die Ausführung als Administrator, die Verwendung des Schalters „--privileged“ sowie die unbefugte Freigabe des Docker-Sockets. Der Zugriff auf den Docker-Socket kann praktisch Administratorrechte auf dem Hostrechner gewähren. Speichern Sie Passwörter und andere vertrauliche Daten nicht in öffentlich zugänglichen Konfigurationsdateien oder im Quellcode. Lassen Sie in der Firewall nur die erforderlichen Ports zu und überprüfen Sie die Regeln regelmäßig.
Was können Sie tun, wenn ein Container nicht startet?
Im Falle eines Fehlers gehen Sie bitte der folgenden Checkliste nach. Überprüfen Sie zunächst, ob der Dienst läuft, und sehen Sie sich anschließend die Protokolle an:
docker compose ps
docker compose logs --tail=100
Sollte das Protokoll einen Konfigurationsfehler melden, überprüfen Sie bitte die Compose-Datei und die erforderlichen Umgebungsvariablen. Überprüfen Sie anschließend die Festplattenauslastung, die offenen Ports und die Auslastung des VPS:
df -h
docker system df
ss -tulpn
docker stats --no-stream
Eine volle Festplatte, ein überlasteter Port oder unzureichender Arbeitsspeicher können den Start gleichermaßen verhindern. Bitte überprüfen Sie vor der Aktualisierung, ob die Sicherung wiederhergestellt werden kann. Wenn Sie nach einer für Docker geeigneten Serverumgebung suchen, sehen Sie sich die Linux-VPS-Angebote von aWh an und wählen Sie entsprechend den Ressourcenanforderungen Ihrer Anwendung aus.
Welchen VPS benötigen Sie für Docker und wie lassen Sie ihn sicher in Betrieb nehmen?
Es gibt keine einheitliche VPS-Größe, die für alle Docker-Anwendungen geeignet ist. Die Wahl hängt von den auszuführenden Containern, der Auslastung der Anwendungen und den zu speichernden Daten ab. Der Einsatz von Docker auf einem VPS lässt sich dann gut planen, wenn nicht nur der momentane Bedarf der Container berücksichtigt wird, sondern auch Kapazitäten für Änderungen am Betriebssystem und bei der Auslastung vorgesehen werden.
Wie lassen sich die erforderlichen VPS-Ressourcen ermitteln?
Erfassen Sie die Dienste und deren Abhängigkeiten. Sowohl die Datenbank als auch die Webanwendung und die Hintergrundprozesse beanspruchen CPU-Leistung, Arbeitsspeicher und Speicherplatz. Berücksichtigen Sie auch den Speicherplatzbedarf für Protokolle, Datenbanken und hochgeladene Dateien. Ermitteln Sie den genauen Ressourcenbedarf nicht anhand von Schätzungen: Messen Sie während der Testphase auch unter Spitzenauslastung die tatsächliche Nutzung.
Anwendungsszenario
Ein Testcontainer: Messen Sie in erster Linie den Ressourcenbedarf des jeweiligen Images und der jeweiligen Anwendung. Berücksichtigen Sie dabei auch den Speicherplatzbedarf des Linux-Systems, des Docker-Dienstes und der Protokolle.
Mehrere Dienste: Berücksichtigen Sie die gleichzeitige Auslastung, den Datenbankbetrieb, die persistenten Volumes und den für Backups erforderlichen Speicherplatz. Der Ressourcenbedarf der Dienste summiert sich und kann zu Spitzenauslastungszeiten schwanken.
Die Wartung des auf dem VPS laufenden Systems sowie von Docker gehört ebenfalls zu den Betriebsaufgaben. Sie kümmern sich um Updates, Berechtigungen, Firewall-Regeln und den Backup-Prozess. Der KVM-VPS ist eine Form der Virtualisierung. Berücksichtigen Sie bei der Auswahl der geeigneten Umgebung sowohl die Verfügbarkeit der Ressourcen als auch die auszuführenden Aufgaben.
Wann ist ein VPS von aWh die richtige Wahl?
Wenn Sie eine Linux-basierte Umgebung benötigen, finden Sie im VPS-Angebot von aWh sowohl Linux-VPS- als auch KVM-VPS-Optionen. Überprüfen Sie anhand der Ressourcenangaben des ausgewählten VPS, ob die jeweilige Lösung zu Ihrer Arbeitslast passt. Der Anbieter stellt die VPS-Umgebung bereit, die Installation von Docker und der Betrieb der Container liegen jedoch in Ihrer Verantwortung.
Was ist der erste Schritt zur Nutzung von Docker auf einem VPS?
Erstellen Sie vor dem Start eine Liste der Anwendungen und Abhängigkeiten, die Sie ausführen möchten, der Daten, die dauerhaft gespeichert werden müssen, sowie der Dienste, die über das Netzwerk erreichbar sein sollen. Wählen Sie anschließend einen Ihren Anforderungen entsprechenden VPS aus, installieren Sie Docker und testen Sie die Anwendung in einer separaten Testumgebung. Bevor Sie in den Live-Betrieb wechseln, überprüfen Sie auch den Ablauf der Datensicherung und der Wiederherstellung.
Nachdem Sie den Ressourcenbedarf und den Betriebsaufwand ermittelt haben, sehen Sie sich bitte die VPS-Angebote von aWh an und wählen Sie einen Linux-VPS oder KVM-VPS, der zu Ihrer geplanten Nutzung passt.
Starten Sie Ihre Docker-Umgebung auf einer durchdachten Grundlage
Der Einsatz von Docker auf einem VPS funktioniert dann gut, wenn die Ressourcen des VPS den tatsächlichen Anforderungen der Anwendung entsprechen und Sie auf den Betrieb des Systems vorbereitet sind. Nach der Installation von Docker unterstützt Compose den übersichtlichen Start der zugehörigen Dienste, während Volumes und regelmäßig durchgeführte Backups die Datensicherung gewährleisten.
Um einen sicheren Betrieb zu gewährleisten, halten Sie das System und die Container-Images auf dem neuesten Stand, beschränken Sie die offenen Ports und vergeben Sie nur die erforderlichen Berechtigungen. Testen Sie die Anwendung vor der Inbetriebnahme, überwachen Sie die Ressourcenauslastung und überprüfen Sie, ob die Wiederherstellung aus dem Backup funktioniert. Ein VPS bietet Ihnen mehr Kontrolle auf Serverseite, doch die Wartung liegt weiterhin in Ihrer Verantwortung.
Mit mehr als 10 Jahren Erfahrung in der Webhosting-Branche sowie Linux-VPS- und KVM-VPS-Lösungen richtet sich aWh an alle, die eine Webhosting- und Serverumgebung von einem ungarischen Anbieter suchen. Sehen Sie sich die VPS-Lösungen von aWh an, ermitteln Sie die Anforderungen Ihrer Anwendung und wählen Sie die für Ihre geplante Nutzung geeignete Umgebung aus.
Häufig gestellte Fragen zur Nutzung von Docker auf einem VPS
Was ist Docker und wie funktioniert es auf einem VPS?
Docker führt Anwendungen und deren Abhängigkeiten in isolierten Containern aus. Auf einem Linux-VPS verwaltet die Docker-Engine die Container-Images, Container, Netzwerke und Volumes. Ein Container ist keine separate virtuelle Maschine, sondern nutzt die Ressourcen des Betriebssystems des VPS. Die Verwendung von Docker auf einem VPS ermöglicht es Ihnen, beispielsweise die Webanwendung und die Datenbank in getrennten Umgebungen auszuführen.
Wie installiere ich Docker auf einem Linux-VPS?
Überprüfen Sie zunächst in der offiziellen Docker-Dokumentation, ob Ihre Linux-Distribution und -Version unterstützt werden. Aktualisieren Sie die Systempakete, richten Sie anschließend das offizielle Docker-Repository Ihrer Distribution ein und installieren Sie die Docker Engine, den Befehlszeilen-Client sowie das Compose-Plugin. Unter Debian können Sie beispielsweise den Paketmanager „apt“ verwenden. Starten Sie den Dienst, überprüfen Sie die Ausgabe von „docker version“ und testen Sie anschließend das Test-Image „hello-world“.
Welcher Linux-VPS wird für die Nutzung von Docker benötigt?
Es gibt keine für jede Anwendung geeignete, festgelegte VPS-Größe. Wählen Sie eine Linux-Distribution, die von der aktuellen Docker-Version unterstützt wird, und ermitteln Sie anschließend den CPU-, Speicher- und Speicherplatzbedarf Ihrer Anwendungen, Datenbanken und Protokolle. Der Ressourcenbedarf eines Testcontainers kann von dem mehrerer gleichzeitig genutzter Dienste abweichen. Beobachten Sie während der Testphase die Auslastung und wählen Sie auf dieser Grundlage die VPS-Ressourcen aus.
Kann Docker auch ohne Docker Compose verwendet werden?
Ja. Zum Erstellen, Starten und Beenden eines einzelnen Containers können Sie direkt die Befehle „docker run“, „docker stop“ und andere Docker-Befehle verwenden. Docker Compose ist nicht zwingend erforderlich, aber nützlich, wenn die Anwendung aus mehreren miteinander verbundenen Diensten besteht. In der Konfigurationsdatei können Sie beispielsweise die Einstellungen für die Webanwendung, die Datenbank, die Netzwerke und die Datenspeicher-Volumes gemeinsam festlegen.
Ist die Nutzung von Docker auf einem öffentlichen VPS sicher?
Mit den richtigen Einstellungen lässt sich das Risiko mindern, doch Docker allein macht Ihren VPS nicht sicher. Halten Sie das Betriebssystem, die Docker Engine und die Container-Images auf dem neuesten Stand. Verwenden Sie Images aus vertrauenswürdigen Quellen, beschränken Sie die Berechtigungen und geben Sie nur die erforderlichen Ports frei. Speichern Sie vertrauliche Daten nicht in öffentlich zugänglichem Quellcode oder in gemeinsam genutzten Konfigurationsdateien.
Wie kann man eine in einem Docker-Container ausgeführte Anwendung im Internet verfügbar machen?
Richten Sie eine Portweiterleitung zwischen dem Port des Containers und dem Port des VPS ein und überprüfen Sie anschließend, ob die Firewall des VPS den erforderlichen Datenverkehr zulässt. Beispielsweise leitet die Einstellung „8080:80“ den Port 8080 des VPS auf den Port 80 des Containers weiter. Machen Sie nur die erforderlichen Ports von außen zugänglich; die Datenbank sollten Sie in der Regel nicht direkt zugänglich machen. Bei einer produktiven Anwendung sollten Sie auch den Domainnamen und die HTTPS-Einstellungen konfigurieren.
Bleiben die Daten erhalten, wenn ich den Container neu starte oder lösche?
Ein Neustart des Containers allein löscht keine Daten; jedoch können Daten, die in der beschreibbaren Schicht des Containers gespeichert sind, verloren gehen, wenn Sie den Container entfernen und neu erstellen. Verwenden Sie für Datenbanken und hochgeladene Dateien ein persistentes Volume oder entsprechend eingebundenen Speicherplatz. Befehle, die das Volume entfernen, können zu Datenverlust führen. Erstellen Sie regelmäßig Backups und überprüfen Sie, ob die Daten wiederhergestellt werden können.
Wann empfiehlt es sich, auf einem VPS herkömmlichen Hosting anstelle von Docker zu wählen?
Herkömmliches Webhosting kann sinnvoll sein, wenn Ihre Website in einer unterstützten Webumgebung läuft und Sie keine eigenen Betriebssystemkonfigurationen oder den Betrieb von Containern benötigen. Ein VPS ist dann sinnvoll, wenn Sie mehr Kontrolle auf Serverseite, individuelle Dienste oder Docker benötigen. Bei der Wahl eines VPS obliegt die Wartung des Betriebssystems, von Docker, der Updates sowie der Sicherheitseinstellungen Ihnen.