Willst Du Deine WordPress-Seite aufpeppen und sie noch cooler gestalten? Dann bist Du hier richtig! Mit Docker kannst Du Deine Seite lokal bearbeiten und sie in neuem Glanz erstrahlen lassen. Bevor es losgeht, solltest Du sicherstellen, dass Du Docker installiert hast – falls nicht, keine Panik, hier zeigen wir Dir, wie Du das schnell und einfach erledigst!
Dank dem Repository von lumonald (herzlichen Dank dafür), ist es kinderleicht eine bereits bestehende WordPress-Seite lokal unter Docker laufen zu lassen. Wenn Du noch nie mit Docker gearbeitet hast, lies Dir doch zuerst diesen Blogbeitrag durch.
1 Was du alles brauchst
Du brauchst von deiner bestehenden Webseite folgendes:
wp-content
-Verzeichnis mit allen Dateienbackup.sql.gz
– ein Snapshot der Datenbank. Beachte, dass der Snapshot genau so heissen muss.- den Datenbank-Tabellenpräfix. Diesen findest du in der
wp-config.php
, in derphpMyAdmin
, oder im Plesk-Toolkit unter dem Eintrag Datenbank.
2 Aufbau der Container
Die Datei docker-compose.yml
definiert 2 Container:
- wordpress – für die Dateien der Website.
- db – für die zugehörige MySQL-Datenbank.
2.1 wordpress-Container
Der wordpress-Container hat 2 Volumes:
- Das Verzeichnis
site/wp-content
– Hier hinein gehören alle Dateien aus demwp-content
Verzeichnis von der Produktionsseite. init/prep.sh
– Deaktiviert die Plugins, welche in der.env
-Datei definiert worden sind. Ausserdem erhält das Verzeichniswp-content
denselben Eigentümer/dieselbe Gruppe wie der Rest der Website.
Hinweis: Die Datei wp-config.php
wird automatisch für diese lokale WordPress-Instanz erstellt.
2.2 db-Container
Der db-Container hat 3 Volumes:
database
– Ein Verzeichnis für alle MySQL-Dateien, dieses wird automatisch von Docker generiert.mysqldumps/
– Hier legst du deine Datenbank ab. Beachte, dass diesebackup.sql.gz
heissen muss.init/migrate.sh
– Ein URL-Migrations-Skript, das die in der Datenbank gespeicherte URL aktualisiert. Es wird ebenfalls automatisch ausgeführt, wenn der Container zum ersten Mal gestartet wird.
3 Und so wird es gemacht
- Lade das Repository von hier oder unseren Fork von hier herunter.
- Lege deinen Datenbank-Snapshot hier ab
mysqldumps/backup.sql.gz
. - Lege deine bestehende WordPress-Instanz hier hab
site/wp-content
. - Trage deinen Datenbank-Tabellen-Präfix in der Datei
.env
ein. - Navigiere zum Stammverzeichnis des Projekts und führe folgenden Befehl aus:
docker-compose up -d && docker-compose exec wordpress prep.sh
Deine Website wird nun unter http://localhost
und das WordPress-Dashboard unter http://localhost/wp-admin
verfügbar sein.
Es funktioniert nicht?
Es kann sein, dass es etwas dauert, bis die Datenbank parat ist. Wenn deine Seite bei einem ersten Seitenaufruf nicht funktionieren sollte, wartest du einfach eine Minute und lädst die Seite neu. (Meine Ungeduld hat mich einige Stunden gekostet ??)
Du kannst auch in deinem Stammverzeichnis nachschauen, ob der Ordner database
bereits vorhanden ist. Wenn dem so ist, wird in diesem ein Verzeichnis wordpress
generiert und darin deine Datenbank-Tabellen deiner bestehenden Seite.