Die Bereitstellung von WordPress in Docker-Container kann mehrere Vorteile bieten, wie z. B. verbesserte Portabilität, Skalierbarkeit und einfache Verwaltung. In diesem Praxistipp führen wir Dich durch die Schritte zur schnellen Bereitstellung von WordPress in einem Docker-Container. Ein kleiner Hinweis in eigener Sache: Auch wenn das für uns gut funktioniert hat, kann es sein das es für Dich nicht so funktioniert. Und los geht es.
Docker für WordPress aufsetzen
Anforderungen um WordPress in einem Docker-Container umzusetzen
Um WordPress als Docker-Container einzurichten, müssen Sie sicherstellen, dass Ihr System die folgenden Anforderungen erfüllt:
- Systemressourcen: Die Ausführung von Docker-Containern erfordert Systemressourcen wie CPU, Arbeitsspeicher und Festplattenplatz. Stelle sicher, dass das System über genügend Ressourcen verfügt, um die erwartete Arbeitslast Ihrer WordPress-Site zu unterstützen. Die genauen Ressourcenanforderungen können je nach Faktoren wie Site-Traffic, Plugins und verwendeten Themes variieren.
- Datenbank: WordPress benötigt ein Datenbank-Backend für die Speicherung seiner Daten. Sie können zwischen MySQL oder MariaDB als Datenbanklösung wählen. Vergewissern Sie sich, dass Sie die erforderlichen Datenbankanmeldeinformationen (Benutzername, Passwort) und den Datenbanknamen für die Konfiguration des WordPress-Containers zur Verfügung haben.
- Docker: Docker ist die Hauptvoraussetzung für die Ausführung von WordPress als Container. Stelle sicher, dass Docker auf dem System installiert ist und läuft. Sie erhalten Docker über die offizielle Docker-Webseite .
- Docker Compose (optional): Docker Compose ist ein zusätzliches Tool, das die Verwaltung von Anwendungen mit mehreren Containern vereinfacht. Die Verwendung von Docker Compose ist zwar nicht zwingend erforderlich, kann aber den Bereitstellungsprozess für WordPress und seine Abhängigkeiten rationalisieren. => hier zur Dokumentation von Docker Compose
- Netzwerkkonnektivität: Docker-Container kommunizieren untereinander und mit der Außenwelt über Netzwerkverbindungen. Stellen Sie sicher, dass Ihr System über eine stabile Internetverbindung verfügt, um Docker-Images abzurufen, auf WordPress-Themes und -Plugins zuzugreifen und den externen Zugriff auf Ihre WordPress-Site zu ermöglichen.
- Domäne oder IP-Adresse: Um auf Ihre WordPress-Site zugreifen zu können, benötigen Sie einen Domänennamen oder eine IP-Adresse. Wenn Sie die Site zu Entwicklungszwecken lokal betreiben möchten, können Sie localhost oder 127.0.0.1 verwenden. Für den produktiven Einsatz benötigen Sie einen registrierten Domainnamen oder eine öffentliche IP-Adresse.
- SSL/TLS-Zertifikat (optional): Wenn Sie Ihre WordPress-Website mit HTTPS sichern möchten, benötigen Sie ein SSL/TLS-Zertifikat. Sie können ein Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle (CA) beziehen oder Let’s Encrypt für kostenlose Zertifikate verwenden. Der Prozess der Zertifikatsinstallation kann je nach Ihrer spezifischen Einrichtung variieren.
Wenn Sie sicherstellen, dass Ihr System diese Anforderungen erfüllt, sind Sie bereit, WordPress als Docker-Container einzurichten.
WordPress Docker Container einrichten
- Schritt: Installieren Sie Docker:
Wie in den Anforderungen beschrieben musst bevor wir mit der Bereitstellung von WordPress als Docker-Container beginnen können, müssen Sie Docker auf Ihrem System installiert haben. Docker bietet plattformunabhängige Container, die Anwendungen kapseln, so dass sie leicht bereitgestellt und von der Hostumgebung isoliert werden können. - Schritt: Erstellen Sie ein Docker-Netzwerk:
Als nächstes erstellen Sie ein Docker-Netzwerk, das die Kommunikation zwischen dem WordPress-Container und einem MySQL- oder MariaDB-Container ermöglicht. Öffnen Sie ein Terminal oder eine Eingabeaufforderung und führen Sie den folgenden Befehl aus:docker network create wordpress_network
Mit diesem Befehl wird ein neues Docker-Netzwerk mit dem Namen „wordpress_network“ erstellt.
- Schritt: Richten Sie einen MySQL-Container ein:
WordPress benötigt eine Datenbank, um seine Daten zu speichern. Wir werden einen MySQL-Container als Datenbank-Backend einrichten. Führen Sie den folgenden Befehl aus, um einen MySQL-Container zu erstellen:docker run -d --name wordpress_db --network wordpress_network -e MYSQL_ROOT_PASSWORD=your_password -e MYSQL_DATABASE=wordpress mysql:latest
Ersetzen Sie „your_password“ durch ein sicheres Passwort Ihrer Wahl. Dieser Befehl erstellt einen MySQL-Container mit dem Namen „wordpress_db“ im Netzwerk „wordpress_network“, mit einem Root-Passwort und einer WordPress-spezifischen Datenbank.
Alternative:
docker run --name wordpress_db -e MYSQL_ROOT_PASSWORD=dein_passwort -p 3306:3306 -d mysql:latest
Mit dem Flag „-p 3306:3306“ verbindet man den Port 3306 im Container mit dem Port 3306 auf dem Hostsystem. Der Container basiert auf dem neuesten MySQL-Image (mysql:latest), das aus dem Docker Hub heruntergeladen wird.
- Schritt: WordPress-Container bereitstellen:
Nun ist es an der Zeit, den WordPress-Container bereitzustellen. Führen Sie den folgenden Befehl aus, um den WordPress-Container zu erstellen und auszuführen:docker run -d --name wordpress --network wordpress_network -p 8080:80 -e WORDPRESS_DB_HOST=wordpress_db -e WORDPRESS_DB_NAME=wordpress -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=your_password wordpress:latest
Ersetzen Sie „your_password“ durch das gleiche Passwort, das Sie im vorherigen Schritt verwendet haben. Mit diesem Befehl wird ein WordPress-Container mit dem Namen „wordpress“ im Netzwerk „wordpress_network“ erstellt, der den Port 8080 auf Ihrem Hostrechner für den Zugriff auf die WordPress-Website freigibt.
- Schritt: Greifen Sie auf Ihre WordPress-Seite zu:
Öffnen Sie einen Webbrowser und geben Sie die folgende URL ein:http://localhost:8080
Sie sollten nun die WordPress-Einrichtungsseite sehen. Folgen Sie den Anweisungen auf dem Bildschirm, um Ihre WordPress-Site zu konfigurieren, einschließlich der Einrichtung eines Administratorkontos und der Angabe von Datenbankinformationen.
Diese Tipps sollten helfen WordPress schnell als Docker-Container bereitzustellen. Disclaimer: Dies hat für uns funktioniert, es kann aber sein das es nicht für Dich funktioniert und es eventuell Fehler gibt.