October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk17 min

WordPress Docker Guide: Einfache Einrichtung und Tipps

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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.

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 compose enthalten.
  • 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 localhost abzuschließ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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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/html gemountet.
  • Uploads: liegen innerhalb von wp-content/uploads und 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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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
Start with Why Series 3 Books Set - Start with Why, Leaders Eat Last, Find Your Why
  • 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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Wä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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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_PASSWORD und WordPress-Accounts.
  • Ports begrenzen: Veröffentliche nur Ports, die du wirklich brauchst, zum Beispiel 8080:80 fü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:latest oder besser eine konkrete PHP-Version wie wordpress: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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Performance 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.Support on Ko-Fi

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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Fehlende Variablen: Kontrolliere Werte wie WORDPRESS_DB_HOST, WORDPRESS_DB_USER, WORDPRESS_DB_PASSWORD und MYSQL_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 pull und danach docker 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.

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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.