WordPress Installation unter Docker

Docker ist eine Open-Source-Software, die dazu verwendet werden kann, Anwendungen mithilfe von Betriebssystemvirtualisierung in Containern zu isolieren. In diesem Beitrag behandeln wir die Installation von WordPress mit MariaDB und PHP-FPM als einzelne Container unter Docker.

Docker bietet viele vorgefertigte Images an, auf welche wir in diesem Beitrag zugreifen.

Schritt 1 – Docker Installation

Zuerst wird das Repository und die Distribution aktualisiert.

apt-get update
apt-get upgrade

Nun kann Docker auf dem System mit folgenden Kommando installiert werden:

apt-get install docker.io

Wenn die Installation erfolgreich abgeschlossen wurde wird mit folgendem Kommandos Docker gestartet und dem Auto-Start hinzugefügt:

systemctl start docker
systemctl enable docker

Zum Test, ob Docker richtig funktioniert kann man folgenden Befehl verwenden:

docker run hello-world

Sie sollten nun folgende Ausgabe erhalten:

Hello from Docker!

This message shows that your installation appears to be working correctly.




To generate this message, Docker took the following steps:

 1. The Docker client contacted the Docker daemon.

 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.

 3. The Docker daemon created a new container from that image which runs the

    executable that produces the output you are currently reading.

 4. The Docker daemon streamed that output to the Docker client, which sent it

    to your terminal.




To try something more ambitious, you can run an Ubuntu container with:

 $ docker run -it ubuntu bash




Share images, automate workflows, and more with a free Docker ID:

 https://cloud.docker.com/




For more examples and ideas, visit:

 https://docs.docker.com/engine/userguide/

Schritt 2 – Installation Docker-Compose

Docker-Compose ist ein in Python geschriebenes Script, daher benötigt man das Installierte Python-Paket.

apt-get install python python-pip

Als nächstes wird Docker-Compose mittels des pip-Befehls installiert:

pip install docker-compose

Zum Test, ob die Installation erfolgreich war kann folgender Befehl verwendet werden, welcher die aktuelle Version ausgibt:

docker-compose -v

Schritt 3 – Installation WordPress

Nun ist Docker und Docker-Compose auf dem System installiert. In diesen Schritten erstellen wir die Konfiguration der Container.

Folgende Images werden wir von Docker beziehen:

Nginx: Offizielles Docker Image, aktuellste Version ’nginx: latest‘.

WordPress: Offizielles Docker Image, WordPress 4.7 mit PHP-FPM 7.0

MySQL: Offizielles Docker Image, MariaDB, aktuellste Version.

Zuerst erstellen wir einen Ordner an einer beliebigen Stelle im Dateisystem für das Projekt und betreten den Ordner.

mkdir -p wordpress-compose
cd wordpress-compose

Docker benötigt eine „docker-compose.yml“ Datei in der steht welche Pakete er beziehen soll und wie diese konfiguriert sind. Zudem werden die benötigten Ordner erstellt.

touch docker-compose.yml
mkdir -p nginx
mkdir -p db-data
mkdir -p logs/nginx
mkdir -p wordpress

Folgende Ordner-Strukur sollte nun vorhanden sein:

docker-compose.yml: Docker Konfigurations Datei.

nginx/: Ordner für die Nginx Konfiguration wie zum Beispiel Virtual Host usw.

db-data/: Das Volume für die MySQL-Daten.

logs/: Log-Ordner für die Applikationen.

wordpress/: Alle WordPress Dateien.

Nun wird eine WordPress-Konfigurationsdatei erstellt:

vi nginx/wordpress.conf

Fügen sie folgende Zeilen der Datei hinzu:

server {
 listen 80;
 server_name wp-kleewald.eu;
 
 root /var/www/html;
 index index.php;
 
 access_log /var/log/nginx/access.log;
 error_log /var/log/nginx/error.log;
 
 location / {
 try_files $uri $uri/ /index.php?$args;
 }
 
 location ~ \.php$ {
 try_files $uri =404;
 fastcgi_split_path_info ^(.+\.php)(/.+)$;
 fastcgi_pass wordpress:9000;
 fastcgi_index index.php;
 include fastcgi_params;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 fastcgi_param PATH_INFO $fastcgi_path_info;
 }
}

Speichern sie die Datei und schließen sie sie.

Schritt 4 – Konfiguration von Docker-Compose

In diesen Schritten wird das Docker-Compose-Konfigurations File bearbeitet, damit die Pakete beim erstellen der Container konfiguriert werden.

Hierzu öffnen wir die Datei mit einem Editor.

vi docker-compose.yml

Fügen sie folgende Zeilen der Datei hinzu, welche festlegen auf welchen Port der Nginx-Webserver hört, welche Pfade der Container, als Root-Directory und Log-Ordner, erhalten soll. Zudem wird hier der WordPress-Container-Ordner verlinkt.

nginx:
    image: nginx:latest
    ports:
        - '80:80'
    volumes:
        - ./nginx:/etc/nginx/conf.d
        - ./logs/nginx:/var/log/nginx
        - ./wordpress:/var/www/html
    links:
        - wordpress
    restart: always

Als nächstes wird der Datei noch die MySQL-Konfiguration angefügt. Diese Zeilen legen fest auf welchen Port der MySQL-Dienst hört, welchen Speicherpfad er verwenden soll und welches Passwort festgelegt werden soll.

mysql:
    image: mariadb
    ports:
        - '3306:3306'
    volumes:
        - ./db-data:/var/lib/mysql
    environment:
        - MYSQL_ROOT_PASSWORD=1234
    restart: always

Als letztes wird wird der Datei noch die WordPress-Konfiguration angefügt. Diese besagt auf welchem Port die Anwendung laufen soll, welcher Speicherpfad verwendet werden soll und legt die Datenbank Konfiguration fest.

wordpress:
    image: wordpress:4.7.1-php7.0-fpm
    ports:
        - '9000:9000'
    volumes:
        - ./wordpress:/var/www/html
    environment:
        - WORDPRESS_DB_NAME=wpdb
        - WORDPRESS_TABLE_PREFIX=wp_
        - WORDPRESS_DB_HOST=mysql
        - WORDPRESS_DB_PASSWORD=1234
    links:
        - mysql
    restart: always

Speichern sie im Anschluss die Datei und schließen sie sie.

Schritt 5 – Ausführen von Docker-Compose

Im vorletztem Schritt wird nun das Erstellen der Container gestartet. Verwenden sie hierzu folgenden Befehle:

cd ./wordpress-compose/
docker-compose up -d

Nach erfolgreichem Erstellen können sie sich eine Liste der verfügbaren Container ausgeben lassen.

docker-compose ps

Zudem können sie bei Fehlern die Logs mit folgendem Kommandos einsehen:

docker-compose logs nginx
docker-compose logs mysql
docker-compose logs wordpress

Der „MySQL Connection Error“ kann hier ignoriert werden.

Schritt 6 – Aufruf WordPress Website

Im letzen Schritt kann nun WordPress wie gewohnt auf der Weboberfläche konfiguriert werden. Geben sie daher einfach die IP-Adesse ihres Docker-Server in ihrem Browser ein.

http://SERVER-IP/

Nun sollte hier die Sprachauswahl ihrer WordPress-Instaz erscheinen.

Gehen sie nun alle Schritte der geführten Konfiguration durch und sie werden danach auf das WordPress-Dashboard umgeleitet.

Quelle: https://docs.docker.com

Hinterlasse einen Kommentar

Benachrichtige mich zu:
avatar
Sortiert nach:   neuste | älteste | beste Bewertung
trackback

[…] WordPress Installation unter Docker […]

wpDiscuz