Heute möchte ich zeigen, wie man Docker und Docker-Compose auf dem RaspberryPi installiert, um WordPress als Testumgebung im heimischen Netzwerk zu betreiben. Docker-Container haben durchaus einen gewissen Reiz, wenn man nicht allzu intensiv in die Auswahl und Konfiguration von Server-Anwendungen eintauchen möchte. Man muss jedoch ein gewisses Vertrauen gegenüber des Maintainers mitbringen.
Eine gute Basis, um Docker auf einem Raspberry Pi laufen zu lassen, bietet das Raspberry Pi OS Lite (64-bit). Dieses ist schnell mit dem Raspberry Pi Imager auf die MicroSD geflasht.
Installation Docker und Docker-Compose
Nach dem ersten Start des Betriebssystems führt man nun ein komplettes Upgrade durch. Dies sollte man tun, um alle Pakete auf dem neuesten Stand zu bringen, damit es keine Probleme während der Installation gibt und alle Anwendungen richtig miteinander arbeiten.
1 |
sudo apt update && sudo apt upgrade |
Nach dem Upgrade installiert man Docker.
1 |
curl -fsSL test.docker.com -o get-docker.sh && sh get-docker.sh |
Nun muss der aktuelle User der Gruppe Docker hinzugefügt werden, i.d.R. ist das der User pi. In meinem Fall ist es der Benutzer intux.
1 |
sudo usermod -aG docker ${USER} |
Ein erster Test checkt, ob dies funktioniert.
1 |
groups ${USER} |
Nun wird der Raspberry Pi neu gebootet, damit die Installation und die Konfiguration umgesetzt werden kann.
1 |
sudo reboot now |
Im nächsten Schritt wird Python 3 mit den entsprechenden Abhängigkeiten eingespielt.
1 |
sudo apt install libffi-dev libssl-dev python3-dev python3 python3-pip |
Jetzt kann Docker-Compose aufgesetzt werden.
1 |
sudo pip3 install docker-compose |
Der Dienst Docker wird aktiviert
1 |
sudo systemctl enable docker |
und mit dem Image hello-world kann getestet werden, ob Docker läuft.
1 |
docker run hello-world |
Installation WordPress
Nun erstellt man das Verzeichnis wordpress
1 |
mkdir wordpress |
und wechselt dort hinein.
1 |
cd wordpress |
Mit dem Editor Nano wird nun eine docker-compose.yml erstellt
1 |
nano docker-compose.yml |
und mit folgendem Inhalt befüllt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
version: '3.6' services: wordpress: image: wordpress:5.7.2 ports: - 80:80 environment: - "WORDPRESS_DB_USER=root" - "WORDPRESS_DB_PASSWORD=vFvpKjJ7HUbkD3wyLDp4" restart: always dns: 8.8.8.8 volumes: - /srv/wordpress:/var/www/html mysql: image: jsurf/rpi-mariadb volumes: - /srv/wordpress-mysql:/var/lib/mysql environment: - "MYSQL_ROOT_PASSWORD=vFvpKjJ7HUbkD3wyLDp4" - "MYSQL_DATABASE=wordpress" restart: always phpmyadmin: image: phpmyadmin:apache environment: - PMA_ARBITRARY=1 restart: always ports: - 9999:80 volumes: - /sessions |
Zum Schluss wird das Image geladen und die Container gestartet.
1 |
docker-compose up -d |
Die fertige WordPress-Installation ist nun über die IP (http://IP-Adresse) des Raspberry Pi erreichbar. Die Einrichtung von WordPress erfolgt über das Webinterface.
Viel Spaß beim Nachbauen!