Praxisprojekt: WordPress mit Docker betreiben

Nachdem wir im letzten Teil Docker Compose kennengelernt haben, setzen wir dieses Wissen nun in einem praktischen Beispiel um. Ziel ist es, eine vollständige WordPress-Installation mit Datenbank bereitzustellen – vollständig containerisiert und reproduzierbar.


Warum WordPress mit Docker?

WordPress zählt zu den beliebtesten Content-Management-Systemen (CMS) weltweit. Mit Docker lässt sich eine komplette Umgebung in wenigen Minuten aufbauen, ohne manuelle Konfiguration von Webserver, Datenbank und PHP.

Vorteile:

  • Schnelle Bereitstellung: In Minuten startklar
  • Einfache Updates: Neue Versionen einfach per Image-Aktualisierung
  • Reproduzierbare Umgebung: Ideal für Entwicklung und Tests

Voraussetzungen

  • Installiertes Docker
  • Installiertes Docker Compose
  • Grundkenntnisse aus den vorherigen Teilen dieser Serie

Docker-Compose-Konfiguration für WordPress

Erstellen Sie eine Datei docker-compose.yml mit folgendem Inhalt:

version: '3.8'
services:
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: geheim
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wpuser
      MYSQL_PASSWORD: wppass

  wordpress:
    image: wordpress:latest
    ports:
      - "8080:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wpuser
      WORDPRESS_DB_PASSWORD: wppass
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wordpress_data:/var/www/html

volumes:
  db_data:
  wordpress_data:

Dienste starten

Starten Sie die Container im Hintergrund:

docker-compose up -d
  • WordPress ist anschließend unter http://localhost:8080 erreichbar.
  • Die MySQL-Datenbank läuft im separaten Container.

Persistente Daten

Durch die definierten Volumes (db_data und wordpress_data) bleiben Daten auch nach einem Neustart oder Update erhalten.


Anpassungen

  • Port ändern: In der Compose-Datei kann "8080:80" angepasst werden, wenn der Standardport belegt ist.
  • SSL-Zertifikate: Für HTTPS kann ein Reverse Proxy wie Traefik oder Nginx Proxy Manager genutzt werden.

Dienste stoppen und entfernen

Um alle Dienste zu stoppen und zu entfernen:

docker-compose down

Mit -v werden zusätzlich die Volumes gelöscht:

docker-compose down -v

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert