Diese Anleitung wird zeigen Ihnen, wie Sie eine WordPress-Installation in Docker-Containern mit Docker Compose ausführen.
WordPress ist das weltweit beliebteste CMS (Content Management System), was es zu einer erstklassigen Überlegung beim Erstellen einer neuen Website macht. Es basiert auf einer MySQL-Datenbank mit PHP-Verarbeitung.
Das Einrichten einer lokalen WordPress-Installation umfasst mehrere Schritte und kann zeitaufwändig sein. Normalerweise müssen Sie einen lokalen Webserver einrichten, den Server zum Ausführen von PHP-Code konfigurieren und eine MySQL-Datenbank einrichten.
Der einfachste Weg, eine lokale WordPress-Umgebung einzurichten, ist jedoch die Containerisierung mit Docker.
Wenn Sie mit Docker beginnen und Docker noch nicht installiert haben, empfehle ich, mit unserem Tutorial zu beginnen:Install Docker on Ubuntu:A Step-by-Step Guide.
1. Installieren Sie Docker Compose
Wenn Docker ausgiebig genutzt wird, wird die Verwaltung mehrerer verschiedener Container umständlich. Docker Compose ist ein Tool zum einfachen Definieren und Starten von Multi-Container-Anwendungen in Docker.
Mit Compose können Sie alle Dienste in einer einzigen YAML-Datei definieren und mit einem einzigen Befehl alles hoch- oder runterfahren.
In diesem Tutorial werden wir zwei Container (WordPress und MySQL) in einer isolierten containerisierten Umgebung mit Docker Compose ausführen.
Lassen Sie mich Ihnen nun zeigen, wie Sie die neueste Version von Docker Compose installieren, um Ihnen bei der Verwaltung von Multi-Container-Anwendungen zu helfen.
Überprüfen Sie zuerst die aktuelle Version und aktualisieren Sie sie bei Bedarf mit dem folgenden Befehl:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Wenden Sie dann ausführbare Berechtigungen auf die Binärdatei an:
sudo chmod +x /usr/local/bin/docker-compose
Schließlich können Sie überprüfen, ob die Installation erfolgreich war, indem Sie die Version überprüfen:
docker-compose --version
docker-compose version 1.29.2, build 5becea4c
Weitere Informationen zu Docker Compose finden Sie in der offiziellen Dokumentation.
2. Verzeichnis vorbereiten
Sie müssen ein neues Verzeichnis namens wordpress
erstellen unter /srv
um die WordPress-Daten zu beherbergen. Dadurch erreichen wir eine gewisse Datenpersistenz.
sudo mkdir -p /srv/wordpress
cd /srv/wordpress/
Wie Sie wissen, sind die Daten in den Docker-Containern nicht persistent. Das bedeutet, dass Sie alle Daten verlieren, wenn Sie den Container stoppen und erneut ausführen; es werden keine Daten mehr darin sein.
Dies kann natürlich vermieden werden, indem ein Docker-Volume hinzugefügt wird, wie Sie später in diesem Tutorial sehen werden.
3. Erstellen der YAML-Datei
Im Bereich Docker Compose müssen alle Ressourcen, die zum Ausführen eines Containers benötigt werden, in einer YAML-Datei mit dem Namen docker-compose.yaml
definiert werden .
Docker Compose liest dann solche Dateien und kommuniziert mit dem Docker-Daemon, um die definierten Ressourcen zu erstellen, zu konfigurieren oder zu zerstören.
In unserem Fall die docker-compose.yaml
Datei enthält die Service-Definitionen für unser dockerisiertes WordPress-Setup.
Darüber hinaus ermöglicht uns Docker Compose, diese Dienste mit gemeinsam genutzten Netzwerken und Volumes zu verknüpfen.
Beginnen wir also mit dem Erstellen einer neuen docker-compose.yaml
Datei in /srv/wordpress
Verzeichnis mit einem Editor Ihrer Wahl. Füllen Sie es mit dieser Konfiguration:
version: '3'
services:
mysql:
image: mysql:latest
restart: always
environment:
MYSQL_ROOT_PASSWORD: my_password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress_user
MYSQL_PASSWORD: wordpress_password
volumes:
- mysql_data:/var/lib/mysql
wordpress:
image: wordpress:latest
depends_on:
- mysql
ports:
- 8080:80
restart: always
environment:
WORDPRESS_DB_HOST: mysql:3306
WORDPRESS_DB_USER: wordpress_user
WORDPRESS_DB_PASSWORD: wordpress_password
volumes:
- ./wp-content:/var/www/html/wp-content
volumes:
mysql_data:
Eine kleine Erklärung hier:
- Wir definieren zwei Dienste –
mysql
undwordpress
, die automatisch miteinander verknüpft werden. - Sie verwenden ein Docker-Image , die entscheidet, welche Version von MySQL und WordPress verwendet werden soll. In diesem Fall ihre Neueste Versionen.
- MySQL-Umgebung :WordPress verwendet diese Umgebungsvariablen, um sich mit dem MySQL-Container zu verbinden.
- WordPress Umgebung :Damit ein WordPress-Container ausgeführt werden kann, sollten Sie die Datenbankverbindungsdetails festlegen.
- WordPress-Image basiert auf Apache, das auf Port läuft
80
standardmäßig. Ordnen Sie den Apache-Standardport Port8080
zu des lokalen Computers. - mysql_data :Daten, die in diese Datenbank fließen, werden auf einem benannten Volume
mysql_data
gespeichert sodass die Daten auch nach dem Entfernen des Containers noch auf Ihrem Computer vorhanden sind und wieder in einem neuen Container bereitgestellt werden können.
Außerdem die volumes
Parameter unter wordpress
weist Docker an, den wp-content
anzuzeigen Verzeichnis im lokalen Dateisystem.
So haben wir jetzt einen dauerhaften Speicher für Teile unserer WordPress-Seite, wie z. B. den wp-content
Verzeichnis. Der wp-content
enthält alle vom Benutzer bereitgestellten Inhalte. Im Grunde genommen landet also alles, was Sie auf Ihre Website hochladen können, hier.
Allerdings solange Sie sowohl die Datenbank als auch Ihren wp-content
haben Ordner, können Sie Ihre Website jederzeit wiederherstellen, selbst wenn alles andere verloren gegangen ist.
4. Führen Sie WordPress mit Docker Compose aus
Jetzt können Sie den Docker-Befehl ausführen, um Ihre lokale Umgebung zu erstellen. Stellen Sie sicher, dass Sie sich noch im wordpress
befinden Verzeichnis. Führen Sie den folgenden Befehl aus:
sudo docker-compose up -d
Der Befehl beginnt mit der Ausführung von Skripten, und Sie sollten verschiedene „Downloading“- und „Waiting“-Meldungen im Terminal sehen, während Docker die MySQL- und WordPress-Images einliest. Dies wird eine Weile dauern, bis es ausgeführt wird.
Wenn Sie Ihr lokales Dateisystem genau im Auge behalten, werden Sie feststellen, dass die Datei /srv/wordpress/wp-content
Ordner wird erstellt und mit Dateien und Ordnern gefüllt, nachdem die Docker-Images hineingezogen wurden.
Die WordPress-Installation mit einem MySQL-Container und einem WordPress-Container war erfolgreich.
5. Greifen Sie auf Ihre WordPress-Installation zu
Schließlich können wir die Installation über die WordPress-Weboberfläche mit unseren laufenden Containern abschließen. Navigieren Sie in Ihrem Webbrowser zu http://localhost:8080
oder http://your_ip_address:8080
.
Möglicherweise müssen Sie Ihre IP-Adresse mit dem Befehl ifconfig herausfinden.
Die Sprachauswahlseite wird Sie begrüßen. Wählen Sie Ihre Sprache aus und klicken Sie auf Weiter.
Füllen Sie die erforderlichen Informationen auf dem nächsten Bildschirm aus und klicken Sie auf „WordPress installieren.“
Wenn Sie dazu aufgefordert werden, klicken Sie abschließend auf Login
.
Der Standard-WordPress-Anmeldebildschirm wird Sie dann begrüßen. Sobald Sie sich erfolgreich authentifiziert haben, können Sie mit der Verwendung von WordPress beginnen.
Zusätzliche Docker Compose-Optionen
Stellen Sie zunächst sicher, dass Sie sich im Verzeichnis /srv/wordpress
befinden Verzeichnis.
Zum Anzeigen des Status einer Docker-Anwendung führen Sie den folgenden Befehl aus:
sudo docker-compose ps
Sie können aufhören alle laufenden Container mit dem folgenden Befehl:
sudo docker-compose stop
Um vorhandene Container zu starten die mit docker-compose up
erstellt wurden :
sudo docker-compose start
Der unten gezeigte Befehl wird stoppen und entfernen Container und alle Netzwerke:
sudo docker-compose down
Schlussfolgerung
Wir haben Ihnen das Konzept hinter Docker Compose vorgestellt, und Sie sollten jetzt in der Lage sein, sogar einfache Multi-Container-Anwendungen zu definieren.
In diesem Tutorial haben Sie Docker Compose verwendet, um ein WordPress mit Docker zu installieren. Sie haben jetzt WordPress eingerichtet und ausgeführt.
Wir hoffen, dass Ihnen das Lesen dieses Leitfadens gefallen hat. Viel Spaß beim Docken!