What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
WordPress lässt sich mit Docker schnell und sauber lokal starten, ohne Webserver, PHP und Datenbank manuell auf dem Rechner zu installieren. Mit Docker Compose werden WordPress und MySQL oder MariaDB als getrennte Container definiert, gemeinsam gestartet und bei Bedarf ebenso einfach wieder entfernt.
Besonders praktisch ist dieser Ansatz für Entwicklung, Tests und Schulungen: Projekte bleiben reproduzierbar, Abhängigkeiten sind klar beschrieben, und Daten können über Volumes dauerhaft gespeichert werden. So entsteht eine lokale Umgebung, die nah an echten Hosting-Setups ist und trotzdem flexibel bleibt.
As an Amazon Associate I earn from qualifying purchases.
Dieser Leitfaden führt durch die grundlegende Einrichtung, die passende Konfiguration von Datenbank und Volumes sowie den Abschluss der Installation im Browser. Außerdem geht es um nützliche Befehle, Performance- und Sicherheitsaspekte, Backups und schnelle Lösungen für typische Docker-Fehler.
Voraussetzungen für WordPress mit Docker
Bevor WordPress lokal in Docker läuft, brauchst du nur wenige Bausteine: eine funktionierende Docker-Installation, ein Terminal, einen Projektordner und etwas Grundverständnis für Ports, Container und persistente Daten. Der Vorteil dieser Vorbereitung ist, dass WordPress, PHP, Webserver und Datenbank später sauber voneinander getrennt laufen und sich die lokale Umgebung schnell neu starten, sichern oder löschen lässt.
#1 Best Overall
Benötigte Software
- Docker Desktop für Windows oder macOS, alternativ Docker Engine unter Linux.
- Docker Compose, bei aktuellen Docker-Versionen meist bereits als Befehl
docker composeenthalten. - Ein Terminal, zum Beispiel PowerShell, Windows Terminal, macOS Terminal oder eine Linux-Shell.
- Ein Code-Editor wie Visual Studio Code, PhpStorm oder ein anderer Editor zum Bearbeiten der Compose-Datei.
- Ein Browser, um die WordPress-Installation später über
localhostabzuschließen.
Prüfe nach der Installation, ob Docker korrekt erreichbar ist. Öffne ein Terminal und führe docker --version sowie docker compose version aus. Beide Befehle sollten eine Versionsnummer ausgeben. Falls Docker Desktop verwendet wird, muss die Anwendung gestartet sein, bevor Container ausgeführt werden können. Unter Windows ist außerdem WSL 2 empfehlenswert, da Docker damit deutlich stabiler und performanter arbeitet als mit älteren Backend-Varianten.
Projektordner und freie Ports vorbereiten
Lege für dein WordPress-Projekt einen eigenen Ordner an, zum Beispiel wordpress-docker. Darin wird später die docker-compose.yml gespeichert. Eine klare Ordnerstruktur hilft besonders dann, wenn mehrere lokale Websites parallel laufen. Achte außerdem darauf, dass die benötigten Ports frei sind. Für WordPress wird häufig Port 8080 auf dem Host verwendet, während der Webserver im Container intern auf Port 80 hört. Die Datenbank muss in vielen lokalen Setups nicht direkt nach außen freigegeben werden, da WordPress sie über das interne Docker-Netzwerk erreicht.
| Komponente | Typischer Zweck | Beispiel |
|---|---|---|
| WordPress-Container | PHP und Webserver für die Website | wordpress:latest |
| Datenbank-Container | Speichert Beiträge, Seiten, Benutzer und Einstellungen | mysql:8.0 oder mariadb:10.11 |
| Volume | Bewahrt Daten auch nach dem Löschen eines Containers | db_data, wp_data |
| Port-Mapping | Macht WordPress im Browser erreichbar | 8080:80 |
Für eine saubere lokale Umgebung solltest du außerdem entscheiden, ob WordPress-Dateien in einem Docker-Volume oder direkt in einem lokalen Ordner liegen sollen. Ein Volume ist bequem und robust, ein gemounteter Ordner ist praktischer, wenn du Themes, Plugins oder eigene Dateien direkt im Editor bearbeiten möchtest. Für den Einstieg reicht ein einfaches Setup mit einem Datenbank-Volume und einem WordPress-Volume. Wenn du aktiv entwickelst, ist ein Bind Mount für wp-content oft die bessere Wahl.
Plane auch einfache Zugangsdaten für die lokale Datenbank ein, etwa Datenbankname, Benutzername und Passwort. Diese Werte werden später in der Compose-Datei als Umgebungsvariablen gesetzt. Sie müssen zwischen WordPress-Container und Datenbank-Container zusammenpassen, sonst kann WordPress keine Verbindung herstellen. Für lokale Tests dürfen die Werte unkompliziert sein, sollten aber nicht unverändert in öffentlich erreichbare Server-Umgebungen übernommen werden.
WordPress mit Docker Compose einrichten
Mit Docker Compose definierst du WordPress und die dazugehörige Datenbank in einer einzigen Konfigurationsdatei. Dadurch startest du die komplette lokale Umgebung mit einem Befehl, statt Container, Netzwerke und Umgebungsvariablen einzeln anzulegen. Lege dafür zuerst einen neuen Projektordner an, zum Beispiel wordpress-docker, und erstelle darin eine Datei namens docker-compose.yml.
Eine einfache Compose-Konfiguration besteht typischerweise aus zwei Services: wordpress für die Anwendung und db für MySQL oder MariaDB. Der WordPress-Container verbindet sich über den Servicenamen der Datenbank, also beispielsweise db. Lokal erreichst du die Website später über einen gemappten Port, häufig http://localhost:8080.
services:
db:
image: mariadb:11
container_name: wordpress_db
restart: unless-stopped
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress_pass
MYSQL_ROOT_PASSWORD: root_pass
volumes:
- db_data:/var/lib/mysql
Free tools Windows power users keep installed
One-click scans. No signup required.
wordpress:
image: wordpress:latest
container_name: wordpress_app
restart: unless-stopped
depends_on:
- db
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress_pass
volumes:
- wordpress_data:/var/www/html
volumes:
db_data:
wordpress_data:
Speichere die Datei und starte die Umgebung im Projektordner mit docker compose up -d. Das Flag -d führt die Container im Hintergrund aus. Docker lädt beim ersten Start die benötigten Images herunter, erstellt die Volumes und verbindet beide Services in einem gemeinsamen Compose-Netzwerk. Nach kurzer Zeit sollte WordPress im Browser unter localhost:8080 erreichbar sein.
Wichtige Einstellungen in der Compose-Datei
- image: Legt fest, welches Container-Image verwendet wird, etwa wordpress:latest oder eine feste Version wie wordpress:6.5-php8.2-apache.
- ports: Verbindet einen lokalen Port mit dem Container-Port. Bei “8080:80” rufst du WordPress lokal über Port 8080 auf.
- environment: Übergibt Zugangsdaten und Verbindungsparameter an WordPress und die Datenbank.
- depends_on: Startet den Datenbank-Service vor dem WordPress-Service, ersetzt aber keine echte Prüfung, ob die Datenbank bereits vollständig bereit ist.
- volumes: Speichert Daten dauerhaft, damit Inhalte, Uploads und Datenbanktabellen nach einem Neustart erhalten bleiben.
Für lokale Projekte kannst du die Beispielpasswörter direkt verwenden, solltest sie aber bei gemeinsam genutzten Rechnern oder Testservern anpassen. Besonders praktisch ist außerdem eine feste WordPress-Version statt latest, wenn du reproduzierbare Umgebungen brauchst. So vermeidest du, dass ein späterer Start plötzlich eine neuere WordPress- oder PHP-Version verwendet und sich Plugins anders verhalten.
Den aktuellen Status prüfst du mit docker compose ps. Laufende Logs siehst du mit docker compose logs -f, bei Bedarf auch nur für einen Service, zum Beispiel docker compose logs -f wordpress. Wenn du die Umgebung stoppen möchtest, nutzt du docker compose down. Die definierten Volumes bleiben dabei erhalten, solange du sie nicht ausdrücklich entfernst.
Recommended Free Tools
Datenbank, Volumes und persistente Daten konfigurieren
Damit eine lokale WordPress-Umgebung mit Docker zuverlässig nutzbar ist, müssen Datenbank und Dateien dauerhaft gespeichert werden. Ohne persistente Speicherung wären Beiträge, Einstellungen, Plugins, Themes und Uploads nach dem Entfernen eines Containers verloren. Docker trennt deshalb Container und Daten: Der Container kann jederzeit neu erstellt werden, während Volumes oder gemountete Ordner den Zustand der Website behalten.
In einer typischen docker-compose.yml gibt es mindestens zwei Dienste: wordpress und db. Der WordPress-Container verbindet sich über den Servicenamen der Datenbank, zum Beispiel db, mit MySQL oder MariaDB. Die Zugangsdaten werden über Umgebungsvariablen gesetzt. Wichtig ist, dass die Werte zwischen WordPress und Datenbank zusammenpassen: Datenbankname, Benutzername, Passwort und Host müssen konsistent konfiguriert sein.
Beispiel für Datenbank- und Volume-Konfiguration
Eine solide Basis ist eine Compose-Konfiguration mit separatem Volume für die Datenbank und einem Projektordner für WordPress-Dateien. Das Datenbank-Volume speichert Tabellen, Benutzer, Optionen und Inhalte. Der WordPress-Mount macht Dateien wie Themes, Plugins und Uploads direkt auf dem Host-System sichtbar, was die lokale Entwicklung deutlich erleichtert.
- Datenbank-Volume: speichert MySQL- oder MariaDB-Daten dauerhaft, zum Beispiel unter
db_data. - WordPress-Dateien: werden häufig nach
./wordpress:/var/www/htmlgemountet. - Uploads: liegen innerhalb von
wp-content/uploadsund bleiben dadurch erhalten. - Themes und Plugins: können lokal bearbeitet und sofort im Container genutzt werden.
Für die Datenbank empfiehlt sich in lokalen Setups MariaDB oder MySQL mit einer festen Version, zum Beispiel mariadb:10.11 oder mysql:8.0. Vermeide nach Möglichkeit den Tag latest, da ein unerwartetes Versionsupdate zu Kompatibilitätsproblemen führen kann. Besser ist eine bewusst gewählte Version, die du bei Bedarf kontrolliert aktualisierst.
Umgebungsvariablen sauber setzen
Die wichtigsten Variablen im WordPress-Service sind WORDPRESS_DB_HOST, WORDPRESS_DB_NAME, WORDPRESS_DB_USER und WORDPRESS_DB_PASSWORD. Im Datenbank-Service werden dazu passend MYSQL_DATABASE, MYSQL_USER, MYSQL_PASSWORD und MYSQL_ROOT_PASSWORD gesetzt. Für lokale Projekte reicht das in der Regel aus. Trotzdem sollten Passwörter nicht unnötig einfach gewählt werden, besonders wenn Ports nach außen erreichbar sind oder das Setup in einem Team geteilt wird.
| Bereich | Empfohlene Konfiguration |
|---|---|
| Datenbank-Host | db:3306 oder einfach db, passend zum Compose-Servicenamen |
| Datenbankdaten | Docker-Volume wie db_data:/var/lib/mysql |
| WordPress-Dateien | Bind Mount wie ./wordpress:/var/www/html |
| Versionen | Feste Image-Tags statt latest |
Wenn du ein bestehendes Projekt importierst, kopierst du die WordPress-Dateien in den gemounteten Ordner und importierst die Datenbank separat, etwa per docker exec, phpMyAdmin oder Adminer. Achte anschließend darauf, dass die Site-URL in der Datenbank zur lokalen Adresse passt, beispielsweise http://localhost:8080. Andernfalls können Weiterleitungen auf die alte Domain oder fehlerhafte Links auftreten.
Beim Umgang mit Volumes ist Vorsicht geboten: docker compose down entfernt Container und Netzwerke, lässt Volumes aber normalerweise bestehen. Erst docker compose down -v löscht auch die zugehörigen Volumes und damit die Datenbankinhalte. Für Tests kann das praktisch sein, für laufende Projekte ist es riskant. Vor solchen Befehlen sollte ein Datenbank-Dump erstellt werden, damit Inhalte bei Bedarf wiederhergestellt werden können.
Rank #3
- 9781591846444 9781591848011 9780143111726 Start with Why Series
- Start with Why: How Great Leaders Inspire Everyone to Take Action 9781591846444
- Leaders Eat Last: Why Some Teams Pull Together and Others Don't 9781591848011
- Find Your Why: A Practical Guide for Discovering Purpose for You and Your Team 9780143111726
WordPress-Installation im Browser abschließen
Nachdem die Container per Docker Compose gestartet wurden, läuft WordPress lokal im Browser. Öffne die Adresse, die du in der docker-compose.yml über das Port-Mapping festgelegt hast, zum Beispiel http://localhost:8080. Falls du den Standard-Port 80 auf dem Host nutzt, reicht http://localhost. Beim ersten Aufruf zeigt WordPress den Installationsassistenten an, über den Sprache, Seitentitel, Admin-Zugang und erste Grundeinstellungen festgelegt werden.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsWähle zunächst die gewünschte Sprache aus, etwa Deutsch. Danach fragt WordPress nach den Angaben für die Website. Der Seitentitel kann später jederzeit geändert werden, sollte lokal aber sinnvoll gewählt sein, zum Beispiel „Lokale WordPress-Entwicklung“. Lege anschließend einen Benutzernamen, ein starkes Passwort und eine E-Mail-Adresse für den Admin-Account fest. Auch wenn es sich nur um eine lokale Umgebung handelt, ist ein sicheres Passwort sinnvoll, besonders wenn Docker-Dienste im Netzwerk erreichbar sind.
Wichtige Angaben bei der Installation
- URL: Verwende die lokale Adresse aus deinem Port-Mapping, zum Beispiel
http://localhost:8080. - Sprache: Bestimmt die Standardsprache des Backends und der Installation.
- Seitentitel: Kann später unter „Einstellungen“ geändert werden.
- Admin-Benutzer: Nutze nicht einfach
admin, sondern einen eindeutigen Namen. - Passwort: Auch lokal möglichst lang und zufällig wählen.
- Suchmaschinen-Sichtbarkeit: Für lokale Installationen kann die Indexierung deaktiviert bleiben.
Nach dem Klick auf WordPress installieren schreibt WordPress die ersten Einstellungen in die Datenbank, die im separaten Datenbank-Container läuft. Wenn die in Docker Compose gesetzten Umgebungsvariablen korrekt sind, musst du hier keine Datenbankdaten mehr manuell eingeben. Dazu gehören typischerweise WORDPRESS_DB_HOST, WORDPRESS_DB_USER, WORDPRESS_DB_PASSWORD und WORDPRESS_DB_NAME. Der Datenbank-Host ist dabei meist der Servicename aus Docker Compose, zum Beispiel db, nicht localhost.
Nach erfolgreicher Installation kannst du dich über /wp-admin anmelden, zum Beispiel unter http://localhost:8080/wp-admin. Prüfe direkt danach die Permalink-Struktur unter Einstellungen → Permalinks und speichere sie einmal neu, besonders wenn du später sprechende URLs verwenden möchtest. Installiere außerdem nur die Plugins und Themes, die du für die lokale Entwicklung wirklich brauchst. So bleibt die Umgebung übersichtlich, startet schneller und lässt sich leichter sichern oder auf einen anderen Rechner übertragen.
Nützliche Docker-Befehle für den Alltag
Wenn WordPress, Datenbank und Volumes per Docker Compose eingerichtet sind, läuft der größte Teil der täglichen Arbeit über wenige Befehle im Projektordner. Gemeint ist der Ordner, in dem deine docker-compose.yml liegt. Dort startest du Container, prüfst Logs, öffnest eine Shell oder führst WordPress-Wartungsaufgaben aus. Die folgenden Befehle funktionieren mit modernen Docker-Versionen über docker compose; bei älteren Installationen kann stattdessen docker-compose nötig sein.
Container starten, stoppen und Status prüfen
- docker compose up -d startet WordPress und die Datenbank im Hintergrund. Danach ist die Seite meist unter http://localhost:8080 oder dem in deiner Compose-Datei gesetzten Port erreichbar.
- docker compose down stoppt die Container und entfernt das zugehörige Netzwerk. Benannte Volumes bleiben dabei erhalten, solange du nicht zusätzlich -v verwendest.
- docker compose ps zeigt, welche Container laufen, welche Ports gebunden sind und ob ein Dienst unerwartet beendet wurde.
- docker compose restart startet alle Dienste neu, zum Beispiel nach Änderungen an Umgebungsvariablen oder nach einem Plugin-Test.
Für die Fehlersuche sind Logs besonders hilfreich. Mit docker compose logs siehst du die Ausgaben aller Dienste. Gezielter wird es mit docker compose logs wordpress oder docker compose logs db, sofern deine Services in der Compose-Datei so heißen. Für Live-Ausgaben während eines Seitenaufrufs eignet sich docker compose logs -f wordpress. Bricht WordPress mit Datenbankfehlern ab, lohnt sich direkt danach ein Blick in die Logs des Datenbankcontainers.
In Container wechseln und Dateien prüfen
Manchmal möchtest du im WordPress-Container nachsehen, ob Dateien korrekt gemountet wurden, welche PHP-Erweiterungen vorhanden sind oder ob Uploads im richtigen Verzeichnis landen. Mit docker compose exec wordpress bash öffnest du eine Shell im laufenden WordPress-Container. Falls bash nicht verfügbar ist, funktioniert oft docker compose exec wordpress sh. Dort kannst du beispielsweise mit ls -la wp-content prüfen, ob Themes, Plugins und Uploads sichtbar sind.
| Befehl | Einsatz im Alltag |
|---|---|
| docker compose pull | Lädt neuere Images, etwa für WordPress oder MariaDB, passend zur Compose-Datei. |
| docker compose up -d –force-recreate | Erstellt Container neu, wenn Konfigurationsänderungen nicht sauber übernommen wurden. |
| docker volume ls | Listet vorhandene Volumes auf, darunter Datenbank- und WordPress-Daten. |
| docker network ls | Zeigt Docker-Netzwerke, nützlich bei Verbindungsproblemen zwischen WordPress und Datenbank. |
| docker system df | Zeigt, wie viel Speicher Images, Container, Volumes und Build-Cache belegen. |
Beim Aufräumen solltest du vorsichtig sein, da lokale Projektdaten in Volumes liegen können. docker container prune entfernt gestoppte Container, docker image prune entfernt ungenutzte Images. Deutlich riskanter ist docker compose down -v, weil damit die zur Compose-Umgebung gehörenden Volumes gelöscht werden können, inklusive Datenbankinhalt. Für eine lokale Testinstallation kann das gewünscht sein, für eine länger gepflegte Entwicklungsumgebung solltest du vorher ein Backup der Datenbank und des wp-content-Ordners erstellen.
Auch WP-CLI lässt sich gut in den Alltag einbauen, wenn dein WordPress-Image es enthält oder du einen separaten WP-CLI-Service ergänzt hast. Dann kannst du Befehle wie wp plugin list, wp theme list oder wp cache flush direkt im Container ausführen. Das spart Klicks im Adminbereich und macht wiederkehrende Aufgaben reproduzierbar, besonders wenn mehrere Personen mit derselben lokalen Docker-Umgebung arbeiten.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Tipps zu Sicherheit, Backups und Performance
Auch wenn eine lokale WordPress-Umgebung mit Docker schnell erstellt ist, lohnt sich eine saubere Grundkonfiguration. Besonders bei Projekten, die später auf einen Server umziehen oder im Team genutzt werden, sollten Passwörter, Dateirechte, Backups und Performance nicht erst am Ende betrachtet werden. Viele gute Gewohnheiten lassen sich bereits in der docker-compose.yml und in der WordPress-Konfiguration vorbereiten.
Sicherheit in der Docker-Umgebung verbessern
Verwende für Datenbank, WordPress-Admin und weitere Dienste niemals Standardpasswörter wie wordpress, admin oder password. Lege Zugangsdaten in einer .env-Datei ab und schließe diese per .gitignore vom Git-Repository aus. So bleiben sensible Werte lokal und landen nicht versehentlich auf GitHub oder in einem Team-Repository.
- Eigene Passwörter: Nutze lange, zufällige Passwörter für
MYSQL_PASSWORD,MYSQL_ROOT_PASSWORDund WordPress-Accounts. - Ports begrenzen: Veröffentliche nur Ports, die du wirklich brauchst, zum Beispiel
8080:80für WordPress. Die Datenbank muss meist nicht direkt auf dem Host erreichbar sein. - Images aktuell halten: Aktualisiere regelmäßig die verwendeten Docker-Images, etwa
wordpress:latestoder besser eine konkrete PHP-Version wiewordpress:php8.3-apache. - Dateien trennen: Lege Themes, Plugins und Uploads in Volumes ab, damit Container ersetzt werden können, ohne Projektdaten zu verlieren.
Backups für Datenbank und Uploads einplanen
Ein WordPress-Backup besteht in der Praxis aus zwei Teilen: der Datenbank und den Dateien im Verzeichnis wp-content. In der Datenbank liegen Beiträge, Seiten, Einstellungen und Nutzer. In wp-content befinden sich Themes, Plugins und hochgeladene Medien. Beide Bereiche sollten regelmäßig gesichert werden, auch bei lokalen Projekten, wenn dort echte Inhalte oder umfangreiche Konfigurationen entstehen.
Für die Datenbank eignet sich ein Export mit mysqldump aus dem laufenden Datenbank-Container. Die erzeugte SQL-Datei kann anschließend im Projektordner gespeichert werden. Für Dateien genügt oft ein Archiv des gemounteten wp-content-Ordners oder des entsprechenden Docker-Volumes. Wer im Team arbeitet, sollte festlegen, welche Dateien versioniert werden: Eigene Themes gehören meist ins Repository, Uploads und Datenbank-Dumps dagegen eher in eine separate Backup-Struktur.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallPerformance lokal spürbar verbessern
Docker ist auf Linux meist sehr schnell, während Dateisynchronisation auf macOS und Windows je nach Projektgröße langsamer sein kann. Besonders WordPress-Installationen mit vielen Plugins, großen Upload-Ordnern oder umfangreichen Themes profitieren von einer bewussten Volume-Struktur. Statt das gesamte WordPress-Verzeichnis vom Host in den Container zu mounten, ist es oft besser, nur wp-content oder einzelne Theme- und Plugin-Ordner einzubinden.
- Weniger Mounts: Binde nur Ordner ein, die du wirklich bearbeitest, zum Beispiel
./theme:/var/www/html/wp-content/themes/mein-theme. - OPcache nutzen: Für realistischere Tests kann ein WordPress-Image mit aktivierter PHP-OPcache-Konfiguration sinnvoll sein.
- Caching gezielt testen: Caching-Plugins lokal nur aktivieren, wenn du ihr Verhalten prüfen möchtest. Beim Entwickeln können sie Änderungen verdecken.
- Datenbank schlank halten: Lösche alte Revisionen, Transients und nicht genutzte Plugins, wenn die lokale Installation träge wird.
Eine gute Basis ist eine klare Trennung zwischen Container, Konfiguration und persistenten Daten. Container dürfen jederzeit gelöscht und neu erstellt werden können, ohne dass Inhalte verloren gehen. Genau das macht Docker für WordPress so praktisch: Die Umgebung bleibt reproduzierbar, während Datenbank, Uploads und eigene Entwicklung sauber erhalten bleiben.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Häufige Fehler und schnelle Lösungen
Bei einer lokalen WordPress-Installation mit Docker treten viele Probleme immer wieder an denselben Stellen auf: Container starten nicht, WordPress erreicht die Datenbank nicht, Ports sind bereits belegt oder Änderungen an Dateien erscheinen nicht im Browser. Die meisten Fehler lassen sich schnell eingrenzen, wenn zuerst der Status der Container, die Logs und die Werte in der docker-compose.yml geprüft werden.
Container startet nicht oder beendet sich sofort
Wenn ein Container direkt nach dem Start wieder stoppt, liefern die Logs meist die entscheidenden Hinweise. Prüfe zuerst mit docker compose ps, ob WordPress, Datenbank und gegebenenfalls phpMyAdmin laufen. Anschließend zeigen docker compose logs wordpress oder docker compose logs db, ob zum Beispiel Umgebungsvariablen fehlen, ein Volume nicht eingebunden werden kann oder die Datenbank Initialisierungsfehler meldet.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →- Fehlende Variablen: Kontrolliere Werte wie
WORDPRESS_DB_HOST,WORDPRESS_DB_USER,WORDPRESS_DB_PASSWORDundMYSQL_DATABASE. - Falsche Einrückung: YAML ist empfindlich bei Leerzeichen. Tabs und falsch eingerückte Blöcke können dazu führen, dass Docker Compose die Datei nicht korrekt interpretiert.
- Defektes Image: Ein erneutes Laden hilft oft:
docker compose pullund danachdocker compose up -d.
WordPress kann keine Datenbankverbindung herstellen
Die Meldung Fehler beim Aufbau einer Datenbankverbindung entsteht häufig durch abweichende Zugangsdaten oder einen falschen Hostnamen. In Docker Compose ist der Datenbankhost normalerweise der Servicename, also zum Beispiel db, nicht localhost. Wenn der Datenbankservice mariadb heißt, muss auch WORDPRESS_DB_HOST=mariadb:3306 gesetzt werden. Stimmen Benutzername, Passwort und Datenbankname nicht exakt mit den MySQL- oder MariaDB-Variablen überein, kann WordPress keine Verbindung aufbauen.
Best Value
Port ist bereits belegt
Wenn beim Start eine Meldung wie bind: address already in use erscheint, verwendet bereits ein anderer Dienst den gewünschten Port. Das betrifft häufig Port 80, 8080 oder 3306. In diesem Fall kann die linke Seite der Portzuordnung angepasst werden, zum Beispiel von 8080:80 auf 8081:80. Danach ist WordPress im Browser unter http://localhost:8081 erreichbar. Der rechte Port bleibt der interne Container-Port und sollte in der Regel nicht geändert werden.
| Problem | Schnelle Lösung |
|---|---|
| Weiße Seite oder PHP-Fehler | Logs prüfen, Plugin-Ordner testweise umbenennen, Theme auf Standard-Theme wechseln. |
| Uploads funktionieren nicht | Volume-Pfad und Schreibrechte im Ordner wp-content/uploads prüfen. |
| Änderungen an Themes erscheinen nicht | Browser-Cache leeren, Cache-Plugin deaktivieren, richtigen lokalen Ordner prüfen. |
| Daten sind nach Neustart verschwunden | Sicherstellen, dass für Datenbank und WordPress-Dateien benannte Volumes oder Bind Mounts verwendet werden. |
Probleme mit Volumes und Dateirechten
Gerade bei Bind Mounts zwischen Host-System und Container können Dateirechte stören. Auf Linux-Systemen kann es passieren, dass WordPress keine Plugins installieren oder keine Medien hochladen kann. Dann sollte geprüft werden, welchem Benutzer die Dateien gehören und ob der Webserver im Container Schreibrechte besitzt. Auf macOS und Windows sind Performance-Probleme mit eingebundenen Projektordnern möglich; hier helfen kleinere Mounts, das Auslagern der Datenbank in ein benanntes Volume und der Verzicht auf unnötig große Synchronisationsordner.
Wenn gar nichts mehr nachvollziehbar ist, hilft ein kontrollierter Neustart der Umgebung: erst docker compose down, dann docker compose up -d. Daten bleiben erhalten, solange keine Volumes gelöscht werden. Vorsicht bei docker compose down -v, denn dieser Befehl entfernt auch die zugehörigen Volumes und damit in vielen Setups die Datenbankinhalte. Vor solchen Schritten sollte immer ein aktueller Datenbankexport vorhanden sein.
Frequently Asked Questions
Kann ich WordPress mit Docker auch ohne Vorkenntnisse lokal installieren?
Ja, wenn Docker Desktop installiert ist und du eine fertige docker-compose.yml verwendest, ist die Einrichtung relativ einfach. Du startest WordPress, Datenbank und Volumes mit einem einzigen Befehl und öffnest danach die Installation im Browser. Grundkenntnisse zu Terminal, Ports und Umgebungsvariablen helfen aber beim Beheben kleiner Fehler.
Welche Daten gehen verloren, wenn ich die Docker-Container lösche?
Wenn du nur die Container entfernst, bleiben deine WordPress-Dateien und die Datenbank erhalten, sofern sie in Docker Volumes oder lokale Ordner gemountet sind. Ohne persistente Volumes gehen Inhalte, Plugins, Themes und Datenbankeinträge beim Neuaufsetzen verloren. Prüfe deshalb in der docker-compose.yml, ob für WordPress und MySQL oder MariaDB Volumes definiert sind.
Welchen Port sollte ich für WordPress in Docker verwenden?
Häufig wird lokal Port 8080 genutzt, zum Beispiel über eine Zuordnung wie 8080:80. Dann erreichst du WordPress im Browser unter http://localhost:8080. Falls der Port bereits belegt ist, kannst du einfach auf 8081, 8888 oder einen anderen freien Port wechseln.
Wie sichere ich eine WordPress-Docker-Installation richtig?
Für Backups solltest du sowohl die WordPress-Dateien als auch die Datenbank sichern. Die Dateien liegen meist in einem Volume oder Projektordner, während die Datenbank per mysqldump oder über ein Datenbank-Tool exportiert werden kann. Für lokale Entwicklung reicht oft ein regelmäßiger Export vor größeren Änderungen, für produktive Setups brauchst du automatisierte Backups.
Was mache ich, wenn WordPress keine Verbindung zur Datenbank bekommt?
Prüfe zuerst, ob der Datenbank-Container läuft und ob Datenbankname, Benutzer, Passwort und Host in der Compose-Datei zusammenpassen. Als Datenbank-Host wird meist der Service-Name verwendet, zum Beispiel db, nicht localhost. Hilfreich sind außerdem docker compose logs und docker compose ps, um Startfehler oder falsche Zugangsdaten schnell zu erkennen.
Bottom Line
Mit Docker lässt sich WordPress lokal schnell, sauber und reproduzierbar einrichten — inklusive Datenbank, Volumes und klarer Konfiguration über Docker Compose. Wer seine Umgebung einmal sauber definiert, spart bei Updates, Tests und Projektwechseln viel Zeit.
Der nächste Schritt ist, die eigene Compose-Datei an das Projekt anzupassen, regelmäßige Backups einzuplanen und typische Stolperfallen wie Port-Konflikte, Rechteprobleme oder fehlende Volumes früh zu prüfen. So entsteht eine stabile lokale WordPress-Umgebung, die sich zuverlässig erweitern und bei Bedarf leicht neu starten lässt.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




