Docker vs. Plesk, eine Alternative für den Betrieb von Websites
Jahrelang habe ich meine Websiten auf einem vServer von Host Europe betrieben und diese mithilfe von Plesk verwaltet. Obwohl Plesk immer gute Dienste geleistet hat, speziell beim Wechsel von einem Server zum Anderen, war die Umgebung am neuen Server dennoch nie gleich. Am neuen Server gab es 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 Website anlegen wollen, ohne die Konfiguration in irgendwelchen Textdateien erstellen zu müssen, bietet Plesk eine nette Oberfläche: Details zur darunterliegenden Konfiguration sind mit Plesk kaum vonnöten. Zahlreiche Plugins vereinfachen die Verwaltung, so kann zum Beispiel eine WordPress-Installation einfach über einen Wizard gestartet werden.
Nachteile eines vServers
Websites, die direkt auf einem vServer betrieben werden, teilen sich alle dieselbe 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 meist 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. Docker Basics
Ein Container ist eine vom Betriebssystem (OS) unabhängige isolierte Umgebung:
Beim ersten Start eines Containers, lädt Docker selbstständig alle notwendigen Quellen
aus dem Internet.
Docker kann unter Windows, macOS oder einer Linux-Distribution installiert werden,
siehe auch: Docker
Webserver mit Docker ohne Plesk
(Quelle: LetsEncrypt Reverse Proxy in der Praxis)
Ich wollte die Vorteile von Docker auch für den Betrieb dieser Website nutzen. Hauptsächlich um für den nächsten Serverwechsel weniger Zeit investieren zu müssen. Für einen Serverwechsel muss ich in Zukunft nur noch alle Ordner mit rsync auf den neuen Server synchronisieren, die Docker-Container am neuen Server starten und den DNS anpassen. Die einzelnen Websites und deren Umgebung: PHP-Version, etc. können jetzt unabhängig vom Server und dessen Betriebssystem gewartet werden.
Meine Anforderungen an den Webserver sind nicht groß: Ich betreibe verschiedene Laravel und PHP-Websites mit und ohne SSL Zertifikat. Nachdem auf dem Server kein Mailserver vorinstalliert ist, verwende ich auch hierfür Docker, siehe: docker-mailserver. Um die SSL-Zertifikate auf den Websites kümmert sich Traefik, siehe: sichere https Verbindung: Traefik Reverse Proxy + Let´s Encrypt. Als Backup lasse ich täglich alle geänderten Dateien auf meine NAS kopieren und als DNS-Server verwende ich einfach den Dienst vom Provider. Die DNS-Einträge zeigen jetzt auf die offizielle IP-Adresse des neuen Cloud-Servers und die eigentlichen Websites und der Mailserver laufen auf isolierten Containern im Backend.
Weiter Informationen zum Betrieb von Docker-Container: siehe: topic/docker.
{{percentage}} % positiv