WordPress mit Docker

Viele Jahre habe ich meine WordPress-Entwicklung mit dem MAMP-Projekt erledigt. Das ganze geht aber auch mit docker und das um einiges einfacher.

Das damp – Projekt liefert genau das und ist beim Aufsetzen einer neuen WordPress-Instanz zum Testen um vieles einfacher. Die Installation und Verwendung wird auf den Seiten ganz gut beschrieben und funktioniert.

Das einzige kleine Problem war, dass WordPress keine Schreibberechtigung auf den wp-content – Ordner hatte. Das merkt man spätestens, wenn man ein Plugin installieren oder aktualisieren oder aber ein Bild in einen Post hinzufügen möchte.

Das Problem hatten auch andere und nach 38 Stunden Internetrecherche hatte mir diese Github-Antwort geholfen. Es kann sein, dass das ein OSX-Problem ist und auf anderen Host-Betriebssystemen gar nicht auftritt. Ohne weiter ins Detail zu gehen wieso und weshalb, ist die Lösung für das Problem relativ einfach.

Man meldet sich auf der WordPress-Maschine an und führt die folgenden Befehle aus und startet die Maschine dann neu:

usermod -u 1000 www-data
chown -R www-data:www-data .

Im Detail geht es so:

Auf einer Konsole wurde damp gestartet.

damp up

Die Docker-Umgebung von damp einstellen

eval $(docker-machine env damp)

Die entsprechende WordPress-Maschine heraussuchen

docker ps

Die Liste mit den Docker-Maschinen-Ids und Namen wird angezeigt.

Nun eine interaktive Shell auf der entsprechenden WordPress-Maschine öffnen

docker exec -it <docker-wordpress-maschine-id> bash

Und dort die magischen Befehle zum Ändern des Besitzers der WordPress-Installation eingeben

usermod -u 1000 www-data
chown -R www-data:www-data .

Nun mit exit wieder von der Maschine abmelden.

Damit die Änderungen nun auch wirksam werden, muss der docker-container neu gestartet werden.

docker restart <docker-wordpress-maschine-id>

Voilá