• About
  • Services
  • Tech-Stack
  • Projects
  • Contact & Prices
  • Blog

WordPress mit Docker-Compose installieren

Die schnellste möglichkeit WP zu installieren

docker on wordpress

In diesem Beitrag erfährst du, wie du eine WordPress-Seite mithilfe von Docker Compose schnell und einfach aufsetzen kannst.

Warum WordPress mit Docker?

Besonders geeignet, um auf dem lokalen Rechner schnell mal etwas zu testen, aber auch der produktive Betrieb mehrerer WordPress Seiten auf einem Linux Server kann hiermit vereinfacht werden. Außerdem enthält jeder Docker Container seine eigene Datenbank und sein eigenes Verzeichnis. Dadurch wird die Sicherheit erhöht und Container können unabhängig voneinander erstellt und gelöscht werden.

Voraussetzungen

Bevor wir beginnen, stelle sicher, dass Docker und Docker Compose auf deinem System installiert ist. Diese Tools ermöglichen es uns, WordPress und die dazugehörige MySQL-Datenbank in Containern zu betreiben.

Schritt 1: Erstellen der .env-Datei

Erstelle einen neuen Ordner mit dem Namen wordpress-docker.

Erstelle eine .env-Datei im wordpress-docker Ordner, um sensible Informationen wie Datenbankpasswörter sicher zu speichern.

.env

DB_PASSWORD=123456
DB_NAME=blog
DB_USER=wp_user
DB_USER_PASSWORD=123456
WP_TABLE_PREFIX=wp_

Schritt 2: Erstellen der docker-compose.yml

Erstelle eine docker-compose.yml-Datei im wordpress-docker Ordner. Die docker-compose.yml Datei definiert, wie Docker die Services für die WordPress-Site ausführen soll.

docker-compose.yml

services:
  db:
    image: mariadb
    environment:
      - MARIADB_ROOT_PASSWORD=${DB_PASSWORD}
      - MARIADB_DATABASE=${DB_NAME}
      - MARIADB_USER=${DB_USER}
      - MARIADB_PASSWORD=${DB_USER_PASSWORD}
    restart: on-failure:10
    volumes:
      - myDbVolume:/var/lib/mysql

  pma:
    image: phpmyadmin/phpmyadmin
    environment:
      # db is the container above
      - PMA_HOST=db
    ports:
      - 6080:80
    restart: on-failure:10
    depends_on:
      # only starts if db is running
      - db

  wp:
    image: wordpress
    environment:
      - WORDPRESS_DB_HOST=db
      - WORDPRESS_DB_USER=${DB_USER}
      - WORDPRESS_DB_PASSWORD=${DB_USER_PASSWORD}
      - WORDPRESS_DB_NAME=${DB_NAME}
      - WORDPRESS_TABLE_PREFIX=${WP_TABLE_PREFIX}
    ports:
      - 6081:80
    depends_on:
      - db
    restart: on-failure:10
    volumes:
      - myWpVolume:/var/www/html

volumes:
  myDbVolume:
  myWpVolume:

Schritt 3: Starten der WordPress-Site

Navigiere im Terminal zum wordpress-docker Ordner und führe folgenden Befehl aus:

docker-compose up

Dadurch wird Docker Compose angewiesen, die in Ihrer docker-compose.yml definierten Services zu starten.

Schritt 4: Zugriff auf WordPress

Unter http://localhost:6080 können wir nun die WP-Installation aufrufen.

Die docker-compose.yml Datei enthält auch ein PhpMyAdmin Image. Wir können über http://localhost:6081 PhpMyAdmin starten, um auf die Datenbank zuzugreifen. In einer Produktivumgebung wäre es besser PhpMyAdmin nicht standardmäßig zu starten, da dadurch auch die Angriffsoberläche des Servers erhöht wird.

Weitere WordPress Seiten

Um weitere WP Seiten aufzusetzen können wir nun einfach den wordpress-docker Ordner kopieren, umbenennen und die bei Schritt 3 weitermachen.