WordPress Docker Compose

Wordpress Docker Compose



WordPress ist eines der beliebtesten kostenlosen und quelloffenen Content-Management-Systeme. Aufgrund seiner Einfachheit und Vielseitigkeit wird es für alles verwendet, von kleinen Blogs bis hin zu umfangreichen Veröffentlichungen.

WordPress ist in PHP geschrieben und wird von einer MySQL-Datenbank unterstützt. Das bedeutet, dass es den Linux-, Apache-, MySQL- und PHP- oder LAMP-Stack nutzt. Die Kernarchitektur von WordPress ist modular aufgebaut und bietet umfangreiche Funktionen und Erweiterbarkeit mithilfe von Plugins und Themes.

Als Entwickler stehen Sie möglicherweise vor der Notwendigkeit, schnell eine WordPress-Instanz auszuführen, ohne alle Serveranforderungen und Tools zu konfigurieren. Hier kommt Docker ins Spiel.







In diesem Tutorial erfahren Sie, wie Sie mit Docker Compose und einfachen Tools schnell ein einfaches WordPress einrichten.



Anforderungen

Damit Sie dieses Tutorial nutzen können, benötigen Sie Folgendes:



  1. Docker Engine ist auf Ihrem Host-Computer installiert.
  2. Ausreichende Berechtigungen zum Ausführen von Docker-Containern.
  3. Docker Compose ist auf Ihrem Computer installiert.
  4. Grundkenntnisse zum Schreiben und Verwenden von Docker-Compose-Dateien.

Definieren der Docker Compose-Datei

Damit wir WordPress mit Docker Compose ausführen können, müssen wir die Compose-Datei definieren. Dazu gehören alle Tools und Dienste, die wir zum Ausführen von WordPress benötigen.





Erstellen Sie eine neue Datei mit dem Namen docker-compose.yml.

$ berühren docker-compose.yml

Bearbeiten Sie die Datei und fügen Sie die Konfiguration wie gezeigt hinzu:



Dienstleistungen:
Datenbank:
Bild: mysql:8.0.27
Befehl: '--default-authentication-plugin=mysql_native_password'
Bände:
- db_data: / War / lib / MySQL
Neustart: immer
Umfeld:
- MYSQL_ROOT_PASSWORD =mysql
- MYSQL_DATABASE =wordpress
- MYSQL_USER =wordpress
- MYSQL_PASSWORD =wordpress
exponieren:
- 3306
- 33060
WordPress:
Bild: WordPress: Neueste
Häfen:
- 80 : 80
Neustart: immer
Umfeld:
- WORDPRESS_DB_HOST =db
- WORDPRESS_DB_USER =wordpress
- WORDPRESS_DB_PASSWORD =wordpress
- WORDPRESS_DB_NAME =wordpress
Bände:
db_data:

In der obigen Docker-Datei ist die Konfiguration in die folgenden Abschnitte unterteilt. Jeder Abschnitt führt einen bestimmten Satz von Anweisungen aus.

Der erste ist der DB-Bereich. In diesem Abschnitt wird Docker angewiesen, die folgenden Aktionen auszuführen:

  • Verwenden Sie das Bild „mysql:8.0.27“.
  • Setzen Sie das Standard-Authentifizierungs-Plugin auf „mysql_native_password“.
  • Hängen Sie ein Volume mit dem Namen „db_data“ ein, um MySQL-Daten dauerhaft zu speichern.
  • Starten Sie den Dienst automatisch neu.

Wir definieren auch Umgebungsvariablen für die MySQL-Konfiguration, einschließlich Root-Passwort, Datenbankname, Benutzer und Benutzerpasswort.

Schließlich stellen wir die Ports 3306 und 33060 für Datenbankverbindungen bereit.

Im Abschnitt „WordPress“ weisen wir Docker an, die folgenden Aktionen auszuführen:

  • Verwendet das Bild „wordpress:latest“.
  • Ordnen Sie Port 80 auf dem Host dem Port 80 im Container für den Webzugriff zu.
  • Starten Sie den Dienst automatisch neu.

Wir geben auch die Umgebungsvariablen für WordPress an, um eine Verbindung zur MySQL-Datenbank herzustellen, einschließlich des Datenbankhosts, des Benutzers, des Benutzerkennworts und des Datenbanknamens.

Zuletzt konfigurieren wir die Docker-Volumes für die dauerhafte Datenspeicherung.

Ausführen der Container

Sobald wir die Konfiguration nach unseren Wünschen festgelegt haben, können wir fortfahren und die in der Compose-Datei definierten Container und Dienste wie folgt ausführen:

$ Docker komponieren -D

Dadurch sollten alle Images erstellt und die Dienste wie oben definiert gestartet werden.

WordPress konfigurieren

Sobald alle Dienste ausgeführt werden, können Sie zur Adresse gehen http://localhost:80 um Ihre WordPress-Instanz zu konfigurieren.

Abschluss

In diesem Tutorial haben wir die Grundlagen behandelt, wie Sie mithilfe von Docker Compose schnell eine WordPress-Instanz auf einem Docker-Container zum Laufen bringen.