Docker Logo
Docker Inc.
Freitag, den 05. Juni 2020 um 22:05 Uhr

Docker: Warum ich auf eine neue Testumgebung umstelle?

Docker ist seit einigen Jahren in aller Mund. Containervirtualisierung erleichtert auch den Webentwicklern die tägliche Arbeit. Individuelle Entwicklungsumgebungen ohne großen Installationsaufwand. Updates ohne Deinstallationen. Was bei XAMPP und Co. kompliziert wurde, nimmt Docker ab. Sogar unterschiedliche Betriebssysteme als Basis sind möglich. Ressourcenschonend und inkl. Codebasis auf der Festplatte des Hostssystems.

Docker statt XAMPP. Mein Plan für dieses Wochenende ist die Umstellung meiner eigenen Entwicklungsumgebung, die derzeit auf XAMPP läuft, auf Docker umzustellen. Der Grund dafür ist ziemlich simpel. Meine Produktivumgebungen sind mit PHP-Version und Co. meiner Entwicklungsumgebung weit voraus. Außerdem weiß ich derzeit nicht, ob meine Websites auf nginx-Servern laufen würden und würde dies natürlich gerne testen.

Docker vs. XAMPP

Ich habe vor einigen Jahren hier gezeigt, wie eine Entwicklungsumgebung aussehen kann, leider habe ich damals einen wichtigen Punkt nicht erwähnt: XAMPP.

XAMPP von Apachefriends.org ist ein Programmpaket, dass es ermöglicht auf dem PC (Betriebsystem: Windows, Linux und MacOS) einen bereits konfigurierten Apache samt PHP, mySQL-Datenbank, Perl und anderen Features zu installieren. Zur damaligen Zeit war dies sicher auf Windows auch die schnellste Empfehlung. Derzeit steht ein Update dieser XAMPP-Umgebung an. Die Produktivserver laufen weit vor dem Entwicklungssystem. Da wäre es für das Bugfixing besser, wenn beide Umgebungen zusammenpassen.Nach einer kurzen Frage an Tante Google, habe ich festgestellt, dass das einiges an Aufwand ist.

Außerdem würde ich gerne testen, wie meine Websites auf einem nginx-Server laufen. nginx.og bietet zwar eine Anleitung an, aber so richtig vom Hocker gehauen hat mich die jetzt nicht. Ach ja, wie installiere ich dann dort PHP, Perl oder mySQL. Was ist mit mehreren PHP-Versionen für unterschiedliche Projekte? Meine Idee: Docker.

Docker ist ein Open-Source-Community-Projekt. Containerisierung ist die Hauptaufgabe dieser Software. Mittlerweile kann es mit Hyper-V nahezu problemlos auf Windows-PCs installiert werden.

Docker: Vorteile in der Web-Entwicklung

Docker-Container ermöglichen es auf einem Windows-Hostsystem auch andere Betriebsysteme als Basis des Gastsystems zu nutzen. Wenn die Produktivumgebung z.B. ein Linux-Derivat wie Debian oder RedHat ist, kann dies ein Vorteil sein. Mehrere PHP-Versionen oder auch ein anderer Server (nginx vs. Apache) sind problemlos möglich.

Dabei kann ich im Gegensatz zu einer Virtualisierung mit Virtualbox oder ähnlichen Tools weiterhin so arbeiten, wie ich es gewohnt bin. Der Code liegt dabei auf meiner Festplatte ist von den IDEs zugänglich, wird vom Container bereitgestellt und ist von Browser erreichbar. Ich muss keine Files umständlich zwischen Systemen oder auf FTPs kopieren.

Beim Updaten wird es in Zukunft auch einfacher. Ich vermute mal, dass eine Zahl ändern in einer YAML-Datei wesentlich schneller geht als das Update des XAMPP. Wenn ich die Struktur clever gestalte, dann ist es sogar möglich alle Projekte weiterhin in einem Ordner abzulegen und alle Container auf diese zugreifen zu lassen. Ebenso kann ich dann die lokalen HOST-Einträge für alle Container verwenden.

Die YAML-Files lassen sich in GIT-Versionieren und so kann ich jederzeit auf einem weiteren PC erneut schnell diese Umgebung aufsetzen. Sollte ein neuer MSI Der Gaming-Serie Einzug halten, dann wäre dieser Punkt schneller erledigt als mit XAMPP.

Im Vergleich mit XAMPP werde ich wahrscheinlich keine Performance-Verbesserung sehen können. Jedoch im Gegensatz zu virtualisierten Systemen mit VirtualBox oder einem anderen Tool, wird Docker ebenfalls die Nase vor haben.

Swarm oder Kubernetes, die eine Orchestrierung der Container ermöglichen, werde ich jetzt hier eher weniger benötigen. Jedenfalls nicht im großen Stil.

Fazit: Auf zu neuen Ufern – auf zu Docker

Das klingt nach jeder Menge Vorteile für Docker. Aus Erfahrung weiß ich, dass Docker diese halten wird. Wie sieht jetzt also das Wochenende aus?

  1. Backup der Daten & Konfigurationsfiles inkl. XAMPP-Ordner, DeInstallation von XAMPPP
  2. Installation von Docker unter Windows 10 Pro
  3. Einrichtung der neuen Entwicklungsumgebung mit nginx- & Apache-Servern
  4. Tools zum Management von Docker-Containern