Docker vs. Plesk, für den Betrieb von Webseiten

Seit Jahren betreibe ich meine Webseiten auf einem vServer von Hosteurope und verwalte diese mit Hilfe von Plesk. Obwohl Plesk immer gute Dienste geleistet hat, speziell beim Wechsel von einem Server zum Anderen, ist die Umgebung am neuen Server dennoch nie gleich und es gibt somit immer wieder etwas zum Nacharbeiten und sei es nur das Installieren aller benötigten Software-Pakete.   

Vorteile eines vServer mit Plesk

Zugegeben, die Benutzeroberfläche ist schon komfortabel und gerade für all jene die einfach nur eine Webseite anlegen wollen, ohne die Konfig in irgenwelchen Textdateien erstellen zu müssen, bietet Plesk eine nette Oberfläche: Details zur darunterliegenden Konfig sind mit Plesk nicht von Nöten. Zahlreiche Plugins vereinfachen die Verwaltung, so kann zum Beispiel eine WordPress-Installation einfach über einen Wizard gestartet werden.

Nachteile eines vServers

Webseiten die direkt auf einem vServer betrieben werden, teilen sich alle die selbe Umgebung: die gleiche Betriebssystem-Version und die gleichen installierten Pakete. So ist z.B. eine neue PHP-Version immer an das OS gekoppelt und erst mit etwas Verzögerung in den Paketquellen verfügbar. Neue PHP-Versionen sind in Plesk mitunter erst nach Monaten im Softwarekatalog vorhanden. Nachdem die Provider auch neue Linux-Versionen für deren vServer erst nach Monaten freigeben, trifft dies auch auf die OS-Version zu. Bei Hosteurope dauert es nach Veröffentlichung einer neuen Ubuntu-Version bis zu einem Jahr bis diese als vServer verfügbar ist, siehe auch: Providerwechsel HostEurope vs Hetzner, vServer vs Cloud-Server). Anders ohne Plesk: Hier bieten einige Provider relativ zeitnahe das neue OS auch als vServer oder Cloud-Server an, entsprechenden ohne irgendeiner Anpassung. Außerdem ist Plesk lizenzpflichtig und kostet extra.

Die Alternative: Docker

Nachdem ich zu Hause seit einigen Jahren Docker für den Betrieb bestimmter Services (Container) verwende, konnte ich damit etwas Erfahrung sammeln. Einmal eingerichtet, kann mit Docker schnell mal ein neuer Dienst gestartet werden: die Docker-Container beinhalten dabei alle notwendigen Abhängigkeiten und laufen absolut stabil. Nicht nur die Inbetriebnahme ist einfacher, auch das Übersiedeln der Services auf eine andere Hardware wesentlich entspannter: Es müssen lediglich die entsprechenden Ordner kopiert und die Container im Anschluss wieder gestartet werden. Keine Probleme mit fehlenden Updates, Paketen oder anderen Voraussetzungen. Auch als Backup reicht eine Kopie der jeweiligen Ordner um diese im Fehlerfall irgendwo zu starten.

Webserver mit Docker ohne Plesk

(Quelle: nginx-LetsEncrypt Reverse Proxy in der Praxis)

Bei der Überlegung, ob ich die Vorteile von Docker auch für den Betrieb dieser Webseite nutzen könnte, fiel mir dazu kein K.O.-Kriterium ein: Plesk müsste sich für meine Zwecke mit Docker ersetzen lassen. Sollte das Setup funktionieren, könnte ich in Zukunft einfacher auf einen anderen vServer wechseln, indem ich die Ordner kopiere, diese am neuen Server starte und den DNS anpasse. Die einzelnen Webseiten und deren Umgebung: PHP-Version, etc. könnten dann unabhängig vom Server und dessen Betriebssystem gewartet werden.

Meine Anforderungen an den Web-Server sind nicht groß: Ich betreibe verschiedene Laravel und PHP-Webseiten mit und ohne SSL Zertifikat. Für die Laravel-Webseiten teste ich bereits eine Entwicklungsumgebung in Docker, Laravel sollte somit auch produktiv klappen. Nachdem ich als Basis einen nicht vorbereiteten Server verwenden will, fehlt mir dann aber noch so eine Kleinigkeit wie ein Mailserver, dazu teste ich gerade einen Docker-Mailserver, siehe: docker-mailserver.  Um SSL-Zertifikate für die Webseiten verwenden zu können, habe ich mit der Nextcloud und dem Letsencrypt-nginx-Proxy-Companion gute Erfahrungen gemacht, siehe: Docker Nextcloud SSL - letsencrypt https. Als Backup habe ich auch bisher mit rsync täglich alle geänderten Dateien auf meine NAS kopiert, an dieser Stelle muss ich nichts ändern, und als DNS-Server würde ich den Dienst vom Provider verwenden. Die DNS-Einträge müssen dann nur auf die offizielle IP-Adresse des neuen Cloud-Server zeigen, die Docker-Container für den Letsencrypt-nginx-Proxy-Companion kümmern sich um neue Zertifikate und die eigentlichen Webseiten und der Mailserver laufen auf isolierten Containern im Backend. 

Weiter Informationen zum Betrieb von Docker-Container: siehe: topic/docker.

 

 

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!



Fragen / Kommentare


Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Außerdem geben wir Informationen zu Ihrer Nutzung unserer Website an unsere Partner für soziale Medien, Werbung und Analysen weiter. Details anzeigen.