Inhalt:
Hallo Heimserver-Ermittler!
Das Forum ist frisch eingerichtet, und passend zum Wochenende haben wir direkt unseren allerersten Fall für das Ermittlerteam. Schnappt euch einen Kaffee (oder ein Kaltgetränk) und helft Rainer, Tron und dem MCP, dieses Rätsel zu lösen!
Der Fall:
Rainer Zufall wollte am Freitagabend voller Stolz sein frisch aufgesetztes WordPress-Blog testen. Alles lief super. Am Samstagmorgen wollte er weitermachen, doch statt seiner Webseite sieht er nur eine dicke Fehlermeldung im Browser:
Fehler beim Aufbau einer Datenbankverbindung / Error establishing a database connection.
Rainer gerät in Panik: "Ich habe doch gar nichts gemacht! Gestern lief es noch!" Er startet die Synology komplett neu – aber der Fehler bleibt.
Die Spurensicherung:
Unser Ermittler Tron geht sofort auf die Jagd. Er verbindet sich per SSH auf das NAS, wirft die Lupe an und prüft den Status der Docker-Container mit docker ps -a.
Hier ist sein Ermittlungsbericht:
• Der WordPress-Container läuft (Up 10 minutes).
• Der MariaDB-Datenbank-Container läuft ebenfalls (Up 10 minutes).
• Ein Blick in das Log des WordPress-Containers verrät: mysqli_real_connect(): (HY000/2002): Connection refused.
Verwirrt schaut sich Tron die docker-compose.yml an, mit der Rainer das System gestartet hat:
yaml
version: '3.8'
services:
mein_blog:
image: wordpress:latest
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: meine_datenbank:3306
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: GeheimesPasswort
WORDPRESS_DB_NAME: blog_db
restart: always
meine_datenbank:
image: mariadb:latest
ports:
- "3306:3306"
environment:
MARIADB_ROOT_PASSWORD: GeheimesPasswort
MARIADB_DATABASE: blog_db
restart: always
Verwende Code mit Vorsicht.
Die Analyse:
Das MCP (Master Control Program) schaltet sich ein und filtert die Fakten:
1. Beide Container laufen fehlerfrei.
2. WordPress versucht, die Datenbank zu erreichen, wird aber abgewiesen (Connection refused).
3. Die Passwörter und der Datenbankname in der Compose-Datei stimmen exakt überein.
Warum kann WordPress keine Verbindung zur Datenbank aufbauen? Welchen Denkfehler hat Rainer Zufall bei der Netzwerkarchitektur in seiner docker-compose.yml gemacht, und wie lautet die Lösung, damit die beiden Container miteinander sprechen können?
Postet eure Theorien und Lösungsvorschläge unten in den Kommentaren!
Viel Spaß beim Miträtseln und ein schönes Wochenende,
Euer Heimserverprojekt-Team