Wieso so?
Um eine reproduzierbare Entwicklungs - Umgebung zu haben, ist es gut das Aufsetzen dieser Umgebung automatisch tun zu können. Dazu kann man docker compose benutzen. Hier zeige Ich euch ein docker-compose.yml, welches ein guter Startpunkt ist für eine reproduzierbare Entwicklungsumgebung.
Wir Benutzen hier als Stack
- wordpress:6.5.4-php8.1-apache
- mariadb:10.6.4-focal
- traefik:v3.0.3
Die docker-compose.yml
können wir mit dem wordpress - Service anfangen:
services:
wordpress:
# Am Besten die Wordpress - Version festsetzen
image: wordpress:6.5.4-php8.1-apache
volumes:
# Im wp_data Volume liegt der Wordpress - Code,
# So kannst du ihn mit anderen Containern teilen
- wp_data:/var/www/html
restart: always
environment:
# Hier kannst du durch deine eigenen Werte ersetzen
- WORDPRESS_DB_HOST=db
- WORDPRESS_DB_USER=wordpress
- WORDPRESS_DB_PASSWORD=wordpress
- WORDPRESS_DB_NAME=wordpress
labels:
# Weiter unten konfigurieren wir dann traefik als Reverse Proxy
- traefik.enable=true
- traefik.http.routers.mywordpress.rule=Host(`localhost`)
networks:
# Füge dein Wordpress dem proxy Netzwerk hinzu:
- proxy
# Optional kannst du dir noch den richtigen Hostname geben,
# sonst beschwert sich Wordpress
hostname: localhost
Als nächstes kannst du die Datenbank hinzufügen:
db:
# Das mariadb image unterstützt amd64 & arm64 architecture
image: mariadb:11.4.2-noble
command: '--default-authentication-plugin=mysql_native_password'
volumes:
# Deine Datenbank ist unter dem db_data Volume gespeichert
- db_data:/var/lib/mysql
restart: always
environment:
# Hier kannst du durch deine eigenen Werte ersetzen
- MYSQL_ROOT_PASSWORD=somewordpress
- MYSQL_DATABASE=wordpress
- MYSQL_USER=wordpress
- MYSQL_PASSWORD=wordpress
expose:
- 3306
- 33060
networks:
- proxy
Jetzt müssen wir das ganze nur noch um unseren traefik Reverse - Proxy erweitern:
traefik:
image: traefik:v3.0.3
ports:
- "80:80"
- "8080:8080"
networks:
- proxy
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command:
# Lokal reicht das http - Setup
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
# Mit whoami kannst du traefik debuggen
whoami:
image: traefik/whoami:v1.8
networks:
- proxy
labels:
- traefik.enable=true
- traefik.http.routers.mywhoami.rule=Host(`whoami.localhost`)
networks:
proxy:
name: proxy
volumes:
letsencrypt:
name: letsencrypt
db_data:
wp_data:
Nun musst du nur noch docker compose up
Auf deinem Terminal ausführen, und dein Wordpress wird unter localhost bei dir erreichbar sein!
Happy Coden!
Dein Ruben
Top comments (0)