Wordpress Entwicklung mit Docker Compose

Harald erklärt, wie eine Entwicklungsumgebung für WordPress mit Docker Compose erstellt wird: Für neue und fortgeführte Projekte oder für Plugins/Themes.

von Harald Nezbeda
Lesezeit 5 Min.
Harald N web
Softwareentwicklung
Harald N web

Entwicklungsumgebungen sind unerlässlich, um neue Software zum Leben zu erwecken. Jede Technologie hat ein eigenes Set an Werkzeugen, die man benutzen kann, um so eine Umgebung zu erschaffen. Und so ist es auch in der Webentwicklung. Früher wurden dazu Software-Stacks wie zum Beispiel XAMPP verwendet oder der Entwickler hat sich alles manuell auf einer virtuellen Maschine konfiguriert. Im besten Fall konnten diese virtuellen Maschinen als Vorlagen exportiert werden. Die Verwendung von benutzerdefinierten Skripten auf diesen Vorlagen ermöglichte die automatische Installation spezifischer Pakete. Um unser Leben zu erleichtern, haben wir dafür Vagrant eingesetzt. Damit ist es möglich, die Entwicklungsumgebung für ein bestimmtes Projekt mit alle beteiligten Entwicklern zu teilen. Allerdings dauert es einige Zeit, um die Skripte zu schreiben und auch die Laufzeit und die Speicherauslastung sind begrenzt (da dieses System VirtualBox verwendet). Dazu kommt, dass es zeitaufwendig ist, mehrere Instanzen der Maschine zu erstellen und Verbindungen zwischen ihnen herzustellen. Manuell konfigurierte VMs bringen also einige Probleme mit sich. Aber es gibt eine Lösung: hier kommt Docker ins Spiel. Mit Docker sind die Skripte, die man für das Erstellen der Umgebungen benötigt, viel einfacher zu lesen und zu verwalten. Auch hat man die Möglichkeit Dockerimages zu erweitern, die von anderen Skripten erstellt wurden (das bietet die Möglichkeit zentralisiert zu arbeiten und weniger Code in den Docker-Dateien zu schreiben). Die finale Komponente in dieser Struktur ist Docker Compose. Dieses Paket ermöglicht die Erstellung einer Konfigurationsdatei, in der alle Befehle, die normalerweise in der Konsole ausgeführt werden, besser lesbar und erweiterbar geschrieben werden können. Es bietet auch die Möglichkeit, Container zu verbinden. So können Komponenten erstellt werden, die nur für einen Zweck verantwortlich sind: Webserver, Datenbank, E-Mail-Versand o.ä. Mit dieser Power können wir einen einfacheren Workflow für WordPress Projekte implementieren, zum Beispiel bei der Entwicklung eines Plugins, eines Themes oder sogar bei einem vollständigen Projekt das auf WordPress basiert. Dafür wird WPDC (WordPress Docker Compose) verwenden: Hier nachzulesen in meinem GitHub directory. Im Anschluss will ich hier nun vorstellen, wie Entwicklungsumgebungen für WordPress mit Docker Compose aufgesetzt werden können: Einmal für ein vollständig neues Projekt, einmal wie ein bestehendes Projekt importiert werden kann und einmal, wie die Entwicklungsumgebung für ein WordPress Plugin oder Theme aufgesetzt werden kann.