Ich versuche, ein Docker Compose WordPress auszuführen, indem ich diese Anleitung verwende: https://docs.docker.com/compose/wordpress/
Dies ist die Yaml-Datei, wie in der Anleitung beschrieben:
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DEBUG: "true"
volumes:
db_data: {}
Nachdem ich meine ausgeführt habe
"docker-compose up -d"
Befehl, ich gehe zu “http://localhost:8000/” in meinem Browser und erhalte die weiße Seite mit “Fehler beim Herstellen einer Datenbankverbindung”. Laut Anleitung sollte mir WordPress an dieser Stelle bereits die 5-Minuten-Installation anzeigen. Wenn ich den Container mit WordPress debug true starte, ist diese Fehlermeldung dann gezeigt:
Warning: mysqli_real_connect(): (HY000/2002): Connection refused in /var/www/html/wp-includes/wp-db.php on line 1612
Verbindung abgelehnt
Ich benutze jetzt
docker exec it container_id /bin/bash
und geben Sie “mysql -p” ein. Jetzt verwende ich das MYSQL_ROOT_PASSWORD aus der Docker-Compose-Datei, aber der Zugriff wird verweigert (“Access denied for user ‘root’@’localhost’ (using password: YES)”)
Ich bin mir nicht sicher, was ich früher gemacht habe, aber irgendwann hat es funktioniert und ich habe die Datenbanken und die mysql.users aufgelistet und die Datenbank und der Benutzer waren da.
Also ich weiß gar nicht, was hier das Problem ist…
Und warum kann ich nicht mehr als root zugreifen? Weiß jemand was zu tun ist?
BEARBEITEN: Port wieder auf 3306 geändert, ich habe 3308 versucht, nur um zu sehen, ob das ein Portproblem sein könnte
Ich denke, Sie sollten verwenden
db:3306
nicht3308
.– tgogos
29. März 2019 um 13:52 Uhr
Hey tgogos, das habe ich schon probiert. Hab gerade nachgeschaut, ob das kein Portproblem ist.
– Klaxx
29. März 2019 um 13:54 Uhr
“Zugriff verweigert für Benutzer ‘root’@’localhost’ (mit Passwort: YES)” würde bedeuten, dass Sie nicht über das Zugriffsrecht über den lokalen Unix-Socker verfügen … Haben Sie versucht “mysql -p -h 127.0.0.1 . ..” ?? Das würde zeigen, ob Sie über TCP/IP auf der lokalen Maschine zugreifen können
– F. Madsen
29. März 2019 um 18:31 Uhr