WordPress im Docker Container

WordPress. Hmmm – läuft das auch dockerized? Kann ich mir eventuell die Einrichtung einer PHP-Umgebung sparen? Tschüssikowski Wamp, LAMP, MAMP, XAMPP, WasAuchImmerMP?!?

Wär schon cool. Ich hätt’s gern im Container mit einer passenden MariaDB. Bitte lokal auf meinem Rechner und kompatibel zu Docker 1.10.3 und Docker-Compose 1.6.2.

 

So soll das Ergebnis aussehen
So soll das Ergebnis aussehen

 

Installations 1-2-3

Schritt 1 – Container Images installieren

Praktischerweise gibt es innerhalb der Docker Official Repositories schon passende Container Images für WordPress und MariaDB. Für meine Zwecke reichen diese völlig aus. Statt latest wähle ich aber lieber konkrete Versionen: WordPress 4.5.0 incl. Apache Webserver und MariaDB 10.1.13. So weiß ich genau, welche Imagevariante ich tatsächlich benutze. Das ist sehr hilfreich für die Fehleranalyse und möglicherweise bleibt diese Anleitung dadurch etwas länger gültig.

$ docker pull wordpress:4.5.0-apache
$ docker pull mariadb:10.1.13

 

Schritt 2 – Container konfigurieren

Damit die beiden Container wordpress und mariadb untereinander kommunizieren können, werden sie über Docker Compose miteinander verlinkt. Die Freigabe von Port 80 des Containers wordpress ermöglicht den Zugriff von außen.

In der docker-compose.yml werden auch die Passwörter für die Datenbank gesetzt. Vorsicht, meine vorbelegten Beispielwerte sind nicht besonders sicher 😉

docker-compose.yml:

version: '2'
services:
  mariadb:
    environment:
      - MYSQL_ROOT_PASSWORD=top_secret
      - MYSQL_DATABASE=wordpress
      - MYSQL_USER=wp_user
      - MYSQL_PASSWORD=wp_password
  image: mariadb:10.1.13
  wordpress:
    environment:
      - WORDPRESS_DB_HOST=mariadb:3306
      - WORDPRESS_DB_NAME=wordpress
      - WORDPRESS_DB_USER=wp_user
      - WORDPRESS_DB_PASSWORD=wp_password
    image: wordpress:4.5.0-apache
    links:
      - mariadb
    ports:
      - 80:80

 

Schritt 3 – Container starten

Parameter „-d“ startet die beiden Container im Hintergrund.

$ docker-compose up -d

Fertig. Unter http://192.168.99.100 wartet die Seite mit der berühmten 5-Minuten Installation.