WordPress FAQ

⌘K
  1. Start
  2. /
  3. WordPress FAQ
  4. /
  5. Glossar
  6. /
  7. Docker-Container — Lokale...

Docker-Container — Lokale WordPress-Entwicklung mit Docker

Ein Docker-Container ist eine isolierte, portable Laufzeitumgebung, die eine Anwendung zusammen mit allen Abhängigkeiten bündelt und auf jedem System identisch läuft.

Was bedeutet das?

Webanwendungen hängen von einer bestimmten PHP-Version, einer Datenbankversion und bestimmten Serverkonfigurationen ab. Wechselt eine Anwendung auf einen anderen Server mit abweichenden Versionen, können Kompatibilitätsprobleme auftreten. Docker löst dieses Problem durch Containerisierung: Eine Anwendung wird zusammen mit ihren Abhängigkeiten in einem eigenständigen Container verpackt. Dieser Container verhält sich überall identisch, egal ob er auf dem Laptop einer Entwicklerin, in einer CI/CD-Pipeline oder auf einem Produktionsserver läuft.

Docker arbeitet mit Images und Containern. Ein Image ist eine unveränderliche Vorlage, die alle notwendigen Dateien und Konfigurationen enthält. Ein Container ist eine laufende Instanz eines solchen Images. Mehrere Container können gleichzeitig laufen und miteinander kommunizieren. Für WordPress gibt es ein offizielles Docker-Image auf Docker Hub. In einer typischen Entwicklungsumgebung laufen drei Container zusammen: ein WordPress-Container (mit PHP und Apache oder Nginx), ein Datenbankcontainer (MySQL oder MariaDB) und optional ein phpMyAdmin-Container zur Datenbankverwaltung. Die Koordination dieser Container übernimmt eine docker-compose.yml-Datei, die alle Dienste und ihre Verbindungen beschreibt.

In der WordPress-Entwicklung hat Docker klassische lokale AMP-Stacks wie XAMPP oder MAMP weitgehend abgelöst. Werkzeuge wie DDEV, Lando oder Local by Flywheel abstrahieren die Docker-Konfiguration hinter einer einfachen Kommandozeile und richten eine vollständige WordPress-Umgebung mit einem einzigen Befehl ein. Der entscheidende Vorteil: Alle Mitglieder eines Teams arbeiten mit exakt derselben PHP-Version, derselben Datenbankversion und denselben Serverkonfigurationen, unabhängig davon, welches Betriebssystem sie auf ihrem Rechner nutzen.

Beispiel aus der Praxis

Sie entwickeln ein neues WordPress-Plugin und wollen sicherstellen, dass es unter PHP 8.3 und MariaDB 10.6 korrekt funktioniert, da das die Serverumgebung Ihrer Kunden ist. Sie erstellen eine docker-compose.yml-Datei mit dem offiziellen WordPress-Image auf PHP 8.3 und einem MariaDB 10.6-Container. Nach docker compose up ist Ihre Entwicklungsumgebung in unter einer Minute bereit. Jeder Kollege, der das Repository klont, startet dieselbe Umgebung mit demselben Befehl. Unterschiede zwischen Entwicklung und Produktion, die zu schwer nachvollziehbaren Fehlern führen, werden auf ein Minimum reduziert.

Tipp aus der Praxis

Für WordPress-Entwicklung ohne tiefes Docker-Wissen empfiehlt sich DDEV. Es konfiguriert und verwaltet Docker-Container automatisch: ddev config --project-type=wordpress gefolgt von ddev start erzeugt eine vollständige lokale WordPress-Instanz mit PHP, Nginx und MariaDB in einer dem Produktionssystem ähnlichen Konfiguration. DDEV unterstützt außerdem automatische HTTPS-Zertifikate für localhost, was wichtig ist, wenn getestete Plugins oder Themes eine HTTPS-Verbindung voraussetzen. Mit ddev describe erhalten Sie eine Übersicht aller laufenden Dienste und ihrer lokalen URLs.

Verwandte Begriffe

Still stuck? Contact

Wie können wir helfen?