Wer WordPress zum Testen, für eine Redaktionsumgebung oder als dauerhaften Betrieb aufsetzt, verliert die erste Stunde selten an Inhalten. Meist geht sie für PHP-Versionskonflikte, abweichende Datenbank-Stände und vergessene Server-Einstellungen verloren. Jede Installation weicht leicht von der letzten ab, und genau diese Abweichung macht Fehler schwer reproduzierbar.
Docker Compose löst dieses Problem, indem es WordPress, Datenbank und Hilfswerkzeuge in einer einzigen Datei bündelt und mit einem Befehl startet. Seit 2023 hat sich dabei die Syntax verändert, ein Detail, das viele ältere Anleitungen noch nicht abbilden. Dieser Beitrag zeigt die aktuelle Einrichtung Schritt für Schritt, inklusive WP-CLI, Migration einer bestehenden Seite und der Frage, wann sich der Eigenbetrieb im Unternehmen überhaupt lohnt.
Das Wichtigste in Kürze
- Befehl geändert: Seit Mitte 2023 heißt der Compose-Befehl
docker compose(ohne Bindestrich) stattdocker-compose[1]. - Aktuelle Datenbank-Basis: WordPress.org empfiehlt Stand 2026 MySQL ab Version 8.0 oder MariaDB ab Version 10.6 [2].
- WP-CLI bleibt Standard: Plugin- und Theme-Installation per Kommandozeile läuft weiterhin über WP-CLI, offiziell als eigenes Docker-Image verfügbar [3][4].
- Migration per Plugin funktioniert weiterhin: All-in-One WP Migration wird 2026 aktiv weiterentwickelt und zählt über 5 Millionen aktive Installationen [5].
- Eigenbetrieb ist eine Dauerentscheidung: Wer selbst hostet, übernimmt Updates, Backups und Sicherheits-Patches dauerhaft. Ein verwaltetes CMS verschiebt diese Aufgaben an den Anbieter.
Docker Compose als technische Basis für WordPress
Docker Compose bündelt WordPress, Datenbank und optionale Hilfswerkzeuge wie phpMyAdmin in einer YAML-Datei und startet alle Container mit einem einzigen Befehl. Statt PHP, Webserver, Datenbank und WordPress-Dateien einzeln auf dem Host einzurichten, definiert eine docker-compose.yml jeden Baustein als eigenen Container, der sich unabhängig von der Host-Umgebung reproduzierbar starten lässt.
Seit Mitte 2023 hat sich dabei ein Detail verändert, das ältere Anleitungen noch nicht abbilden: Der Support für Compose V1 mit dem eigenständigen Befehl docker-compose endete nach Angaben von Docker im Juni 2023 [1]. Seither ist docker compose, ohne Bindestrich und als fester Bestandteil der Docker-CLI, die aktuelle Syntax. GitHub hat den alten Befehl zusätzlich zum 9. Juli 2024 vollständig aus seinen gehosteten Runner-Images entfernt [6]. Alle Befehle in diesem Beitrag nutzen deshalb docker compose; wer noch Skripte mit docker-compose betreibt, sollte sie vor der nächsten Server-Migration anpassen.
`docker-compose` (mit Bindestrich, Version 1) ist seit Juni 2023 ohne Support und seit Juli 2024 aus GitHubs eigenen Runner-Images entfernt. Bestehende Skripte vor dem nächsten Server-Wechsel auf `docker compose` (ohne Bindestrich, Docker-CLI-Subcommand) umstellen.
WordPress mit Docker Compose einrichten

Systemvoraussetzungen
Für die Einrichtung reichen ein aktueller Docker Engine mit Compose V2, seit 2023 standardmäßig in Docker Desktop und den offiziellen Linux-Paketen enthalten, sowie git zum Anlegen der Projektstruktur. WordPress läuft komplett im Container. PHP, Webserver und Datenbank müssen auf dem Host nicht separat installiert werden.
Unter Linux gehört der eigene Benutzer typischerweise in die Docker-Gruppe, damit docker- und docker compose-Befehle ohne sudo funktionieren:
1sudo groupadd docker2sudo usermod -aG docker $USER
Nach diesem Befehl ist ein Abmelden und erneutes Anmelden nötig, damit die Gruppenmitgliedschaft aktiv wird.
Die `docker-compose.yml` in diesem Beitrag definiert drei Dienste: WordPress (Anwendung), MariaDB (Datenbank) und phpMyAdmin (Datenbank-Verwaltung im Browser). Ein einziger Befehl startet alle drei zusammen.
Compose-Datei und Umgebungsvariablen
Im Projektordner definiert eine docker-compose.yml drei Dienste: WordPress selbst, eine Datenbank und phpMyAdmin für die Datenbank-Verwaltung im Browser. Das offizielle WordPress-Image auf Docker Hub dokumentiert dieses Muster mit mysql:8.0 als Datenbank [3]; MariaDB ab Version 10.6 ist laut WordPress.org ebenso eine aktuell unterstützte Alternative [2] und wird hier verwendet, weil auch das offizielle phpMyAdmin-Image sie in seinem Beispiel führt [7]:
1services:2 wordpress:3 image: wordpress:latest4 restart: always5 ports:6 - "8081:80"7 environment:8 WORDPRESS_DB_HOST: db9 WORDPRESS_DB_USER: wordpress10 WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}11 WORDPRESS_DB_NAME: wordpress12 volumes:13 - ./data/wp-app:/var/www/html14 depends_on:15 - db1617 db:18 image: mariadb:10.1119 restart: always20 environment:21 MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}22 MARIADB_DATABASE: wordpress23 MARIADB_USER: wordpress24 MARIADB_PASSWORD: ${DB_PASSWORD}25 volumes:26 - ./data/mysql:/var/lib/mysql2728 phpmyadmin:29 image: phpmyadmin30 restart: always31 ports:32 - "8080:80"33 environment:34 PMA_HOST: db35 depends_on:36 - db
Eine .env-Datei im selben Ordner hält die Zugangsdaten außerhalb der Compose-Datei:
1DB_ROOT_PASSWORD=ein-sicheres-passwort2DB_PASSWORD=ein-zweites-sicheres-passwort
Beide Platzhalter vor dem ersten Start durch eigene, ausreichend lange Passwörter ersetzen.
Zugangsdaten stehen ausschließlich in der `.env`-Datei, nie direkt in der `docker-compose.yml`. So bleiben Passwörter außerhalb der Versionskontrolle, wenn `.env` in `.gitignore` eingetragen ist.
Container starten, prüfen und stoppen
1docker compose up -d
Der Parameter -d startet alle drei Container im Hintergrund. Der Ordner data legt dabei die Unterordner wp-app (WordPress-Dateien) und mysql (Datenbankdaten) an, sodass Inhalte einen Neustart überstehen.
Status prüfen:
1docker compose ps
WordPress ist danach unter http://localhost:8081 erreichbar, phpMyAdmin unter http://localhost:8080. Zum Anhalten und vollständigen Entfernen:
1docker compose stop2docker compose down
`docker compose up -d` startet, `docker compose ps` prüft den Status, `docker compose stop` hält an, `docker compose down` entfernt die Container vollständig. Die Daten in `./data` bleiben dabei über einen Neustart hinweg erhalten.
Erst-Einrichtung von WordPress
Einrichtung über den Browser
http://localhost:8081 aufrufen und den Installations-Wizard Schritt für Schritt durchlaufen. Nachteil dieses Wegs: Jeder Schritt, einschließlich Plugin-Auswahl und Konfiguration, läuft manuell ab, was bei mehreren Installationen Zeit kostet.
Einrichtung per WP-CLI
WP-CLI bleibt das offizielle Kommandozeilen-Werkzeug für WordPress und läuft in einem eigenen Container-Image [4]. Dazu kommt ein weiterer Dienst in die docker-compose.yml:
1 wpcli:2 image: wordpress:cli3 volumes:4 - ./data/wp-app:/var/www/html5 environment:6 WORDPRESS_DB_HOST: db7 WORDPRESS_DB_USER: wordpress8 WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}9 WORDPRESS_DB_NAME: wordpress10 depends_on:11 - db
WordPress-Installation per Kommandozeile:
1docker compose run --rm wpcli wp core install --url=http://localhost:8081 --title="Beispielseite" --admin_user=admin --admin_email=admin@example.com
Plugin installieren und aktivieren, hier am Beispiel des von WordPress selbst gepflegten Demo-Plugins:
1docker compose run --rm wpcli wp plugin install hello-dolly --activate
Theme installieren, hier am Beispiel des aktuellen WordPress-Standardthemes:
1docker compose run --rm wpcli wp theme install twentytwentyfour --activate
Beide Befehle folgen laut WP-CLI-Referenz derselben Struktur [4]:
`docker compose run --rm wpcli wp {typ} install {slug} --activate` Nur `{typ}` (`plugin` oder `theme`) und `{slug}` ändern sich — die Struktur bleibt für jedes Plugin oder Theme aus dem WordPress-Verzeichnis gleich.
Migration einer bestehenden Installation
Wer eine bestehende WordPress-Seite in die neue Docker-Umgebung übernehmen will, kommt ohne Handarbeit an Datenbank-Dumps aus, wenn ein Migrations-Plugin Export und Import übernimmt. All-in-One WP Migration bleibt dafür 2026 eine aktiv gepflegte Wahl: Das Plugin zählt über 5 Millionen aktive Installationen und wurde zuletzt vor rund zwei Wochen aktualisiert [5]. Es exportiert Datenbank und Mediathek in eine einzige Datei, die sich im Zielsystem über die Plugin-Oberfläche wieder einspielen lässt.
Docker-Setup einordnen
Passt Docker-Eigenbetrieb zu Ihrer Situation?
Im Erstgespräch ordnen wir ein, ob der Docker-Compose-Weg aus diesem Beitrag zu Ihrem Team und Ihrer Betriebskapazität passt, oder ob ein verwalteter Ansatz Zeit an anderer Stelle freisetzt.
Erstgespräch anfragenDocker-Eigenbetrieb vs. verwaltetes CMS
Wer die vorherigen Schritte durchgeführt hat, betreibt WordPress ab jetzt selbst. Der Docker-Compose-Stack läuft auf einem eigenen oder gemieteten Server, und die Verantwortung für Betrieb und Sicherheit bleibt vollständig im eigenen Haus. Das ist der Preis für die Kontrolle, die Docker gegenüber einem fertigen Hosting-Paket verschafft.
Drei Aufgaben bleiben dabei dauerhaft bestehen:
- WordPress-Core, Theme und Plugins aktuell halten: Ohne regelmäßige Updates öffnen bekannte Sicherheitslücken das System für Angriffe.
- Backups einrichten und testen: Datenbank und Mediathek brauchen eine Sicherung, die sich im Ernstfall verlässlich wiederherstellen lässt.
- Docker-Images selbst aktualisieren: Jede neue Version von
wordpress,mariadboderphpmyadminkann Änderungen mitbringen, die vor dem Produktiv-Update geprüft werden müssen.
Wer diesen Wartungsaufwand nicht selbst tragen will, hat grundsätzlich zwei Wege: ein verwaltetes WordPress-Hosting, das einen Teil der Aufgaben übernimmt, oder ein verwaltetes CMS wie Quandes Canvas, bei dem Updates, Sicherheits-Patches und Infrastruktur beim Anbieter liegen und nicht mehr im eigenen Docker-Compose-Stack landen. Ein ausführlicher Vergleich zu Alternativen zu WordPress ist in Vorbereitung.
Docker-Eigenbetrieb passt, wenn Kontrolle und laufende Kosten wichtiger sind als Zeitersparnis. Ein verwalteter Ansatz passt, wenn die Zeit für Server- und Plugin-Pflege im Unternehmen fehlt.
Wer sich grundsätzlicher fragt, ob Eigenbau oder Beauftragung passt, findet die Entscheidungsgrundlagen im Beitrag Website erstellen lassen für KMU. Wer eine bestehende WordPress-Seite ablösen will, findet die Faktoren dafür im Beitrag Website-Relaunch ohne Sichtbarkeitsverlust, und wer WordPress ganz umgehen möchte, im Beitrag Website mit KI erstellen für KMU.
Docker-Eigenbetrieb oder verwaltetes CMS
Welcher Ansatz passt zu Ihrem Unternehmen?
Wir ordnen mit Ihnen ein, wie viel laufende Wartung ein Docker-Eigenbetrieb realistisch bedeutet und ob ein verwaltetes CMS wie Canvas die tragfähigere Grundlage ist.
Strategiegespräch vereinbarenHäufige Fragen zu WordPress mit Docker
Brauche ich noch docker-compose oder docker compose?
Nutzen Sie `docker compose` ohne Bindestrich. Der Support für die alte, eigenständige Version 1 endete nach Angaben von Docker bereits im Juni 2023 [1], und GitHub hat den alten Befehl zum 9. Juli 2024 vollständig aus seinen Runner-Images entfernt [6].
Welche Datenbank passt 2026 zu WordPress in Docker?
MySQL ab Version 8.0 oder MariaDB ab Version 10.6 erfüllen die aktuellen Empfehlungen von WordPress.org [2]. Beide Datenbank-Images stehen offiziell auf Docker Hub bereit.
Wie installiere ich Plugins ohne den Browser-Wizard?
Über WP-CLI im `wordpress:cli`-Container, zum Beispiel mit `docker compose run --rm wpcli wp plugin install <plugin-slug> --activate` [3][4].
Kann ich eine bestehende WordPress-Seite in die Docker-Umgebung übernehmen?
Ja, über ein Migrations-Plugin wie All-in-One WP Migration, das Datenbank und Mediathek in eine einzige Export-Datei packt [5].
Lohnt sich der Docker-Eigenbetrieb für ein Unternehmen?
Das hängt von der verfügbaren Betriebskapazität ab. Wer Updates, Backups und Sicherheits-Patches selbst tragen kann und will, gewinnt Kontrolle. Wer diese Zeit nicht hat, ist mit einem verwalteten CMS oft besser bedient.
Weiterführend

Website erstellen lassen für KMU: die Seite, die die richtigen Anfragen bringt
Eine KMU-Website soll nicht mehr, sondern die richtigen Anfragen bringen. Warum Strategie vor Design kommt, woran es bei Relaunch und Conversion liegt und was der erste Schritt ist.

Website-Relaunch ohne Sichtbarkeitsverlust: der KMU-Fahrplan
Ein Website-Relaunch verliert Rankings, wenn URL-Mapping und Redirects fehlen. Der Fahrplan für KMU — inklusive der Frage, ob ein Relaunch überhaupt der richtige Schritt ist.

Website mit KI erstellen — sinnvoll für KMU?
Website mit KI erstellen: Wo KI im Website-Bau wirklich hilft (Entwürfe, Struktur) und wo nicht (Strategie, die richtigen Anfragen). Plus die Austauschbarkeits-Falle.



