Docker-WordPress-Websites verwalten

WP Staging CLI kann Docker-basierte WordPress-Umgebungen für lokale Entwicklung und Tests erstellen und verwalten. Diese Anleitung behandelt das Hinzufügen, Auflisten, Löschen und Verwalten von WordPress-Websites.

Was du erhältst

Jede Docker-Website enthält:

  • PHP-FPM mit der gewählten PHP-Version
  • Nginx-Webserver mit HTTPS
  • MariaDB-Datenbank
  • Mailpit für E-Mail-Tests
  • Automatische SSL-Zertifikate über mkcert
  • Hosts-Datei-Konfiguration für lokale Domains

Voraussetzungen

  • Docker 20.10.0 oder höher
  • Docker Compose 2.19.0 oder höher
  • Mindestens 2 CPU-Kerne und 4 GB RAM

Eine neue Website hinzufügen

Erstelle eine neue WordPress-Website mit einer benutzerdefinierten lokalen Domain:

wpstaging add https://mysite.local

Oder ohne Protokoll:

wpstaging add mysite.local

Brauchst du eine WordPress-Multisite?

wpstaging add mysite.local --multisite

Nachdem die Website erstellt wurde, kannst du sie unter https://mysite.local aufrufen.

Eine Website aus einer vorhandenen Backup-Datei hinzufügen

Erstelle eine neue Website und stelle sie in einem Schritt aus einer WP Staging Backup-Datei wieder her:

wpstaging add mysite.local --from=backup.wpstg

Oder von einer Remote-URL:

wpstaging add mysite.local --from=https://example.com/backup.wpstg

WordPress Multisite:

wpstaging add mysite.local --multisite --from=BACKUP_URL

Dies ist der empfohlene Weg, um eine lokale Kopie deiner Produktionswebsite zu erstellen. Es kümmert sich um alles: Docker-Einrichtung, Backup-Extraktion, Datenbankimport und URL-Ersetzung.

Website-Konfiguration anpassen

PHP-Version

Gib die PHP-Version an (Standard ist 8.1):

wpstaging add mysite.local --php=8.2

Die verfügbaren PHP-Versionen hängen von den unterstützten Docker-Images ab.

WordPress-Version

Installiere eine bestimmte WordPress-Version (Standard ist die neueste):

wpstaging add mysite.local --wp=6.4.2

Benutzerdefinierte Ports

Ändere die Standardports, wenn sie mit anderen Diensten in Konflikt stehen:

wpstaging add mysite.local \
  --http-port=8080 \
  --https-port=8443 \
  --db-port=3307

Container-IP-Adresse

Standardmäßig verwenden Websites IP-Adressen im Bereich 127.3.2.x. Du kannst eine benutzerdefinierte IP angeben:

wpstaging add mysite.local --container-ip=127.0.0.1

Umgebungspfad

Ändere, wo Docker-Umgebungen gespeichert werden (Standard: ~/wpstaging):

wpstaging add mysite.local --env-path=/custom/path

Alle Add-Befehl-Flags

FlagStandardBeschreibung
--php8.1PHP-Version
--wplatestWordPress-Version
--fromBackup-Dateipfad oder URL zur Wiederherstellung
--env-path~/wpstagingPath to store Docker environments
--container-ip127.3.2.1Container-IP-Adresse
--http-port80Nginx HTTP port
--https-port443Nginx HTTPS port
--db-port3306MariaDB port
--db-root123456MariaDB root password
--mailpit-http-port8025Mailpit web interface port
--disable-mailpitfalseDisable Mailpit container

WordPress-Konfigurations-Flags

FlagStandardBeschreibung
--db-nameautoWordPress-Datenbankname
--db-userautoWordPress-Datenbankbenutzer
--db-passautoWordPress-Datenbank-Passwort
--db-prefixwp_WordPress table prefix
--db-hostlocalhostWordPress database hostname
--db-sslfalseEnable SSL for WordPress database connection
--admin-useradminWordPress-Admin-Benutzername
--admin-passadminWordPress-Admin-Passwort
--admin-emailadmin@dev.nullWordPress-Admin-E-Mail
--secure-credentialsfalseGenerate random secure credentials
--multisitefalseEnable WordPress Multisite

Websites auflisten

Zeige alle WordPress-Websites in deiner Docker-Umgebung an:

wpstaging list

Beispielausgabe:

HOSTNAME            STATUS      PHP     IP
mysite.local        running     8.1     127.3.2.1
dev.local           stopped     8.2     127.3.2.2
test.local          running     8.0     127.3.2.3

Details für bestimmte Websites anzeigen

Erhalte detaillierte Informationen über eine oder mehrere Websites:

wpstaging list mysite.local

Oder mehrere Websites:

wpstaging list site1.local site2.local

Websites löschen

Lösche eine bestimmte Website:

wpstaging del mysite.local

Lösche mehrere Websites:

wpstaging del site1.local site2.local

Lösche alle Websites (mit Bestätigung):

wpstaging del

Warnung: Das Löschen einer Website entfernt alle Dateien, die Datenbank und die Konfiguration. Dies kann nicht rückgängig gemacht werden.

Websites aktivieren/deaktivieren

Deaktiviere eine Website, ohne sie zu löschen:

wpstaging disable mysite.local

Aktiviere eine deaktivierte Website wieder:

wpstaging enable mysite.local

Deaktivierte Websites behalten ihre Daten, aber ihre Container werden nicht gestartet.

Eine Website zurücksetzen

Setze eine Website auf eine frische WordPress-Installation zurück:

wpstaging reset mysite.local

Dies entfernt alle WordPress-Inhalte und installiert WordPress neu, während die Docker-Konfiguration erhalten bleibt.

Reset with Different WordPress Version

Gib eine andere WordPress-Version beim Zurücksetzen an:

wpstaging reset mysite.local --wp=6.5

Reset and Restore from Backup

Setze die Website zurück und stelle sie in einem Schritt aus einem WP Staging Backup wieder her:

wpstaging reset mysite.local --from=backup.wpstg
wpstaging reset mysite.local --from=https://example.com/backup.wpstg

Sichere Zugangsdaten

Für bessere Sicherheit, besonders in gemeinsam genutzten Umgebungen, verwende zufällige Zugangsdaten:

wpstaging add mysite.local --secure-credentials

Dies generiert zufällige Passwörter für:

  • MariaDB-Root-Benutzer
  • WordPress-Datenbankbenutzer
  • WordPress-Admin-Benutzer

Die generierten Zugangsdaten werden nach der Erstellung der Website angezeigt.

WordPress Multisite

Erstelle eine WordPress-Multisite-Installation:

wpstaging add mynetwork.local --multisite

macOS-Hinweise

macOS-Benutzer: Automatische IP-Alias-Bindung ist standardmäßig für nahtlose Multi-Site-Setups über den Loopback-IP-Bereich 127.3.2.1 – 127.3.2.254 aktiviert. Dies erfordert sudo und du wirst zur Passworteingabe aufgefordert.

Tipp: Richte passwortloses sudo für wpstaging ein, um wiederholte Passwortabfragen zu vermeiden. Siehe die FAQ für Anweisungen.

Nächste Schritte

Updated on März 6, 2026