
Hallo, ich bekomme diesen Fehler vom WordPress-Container in den Protokollen.
MySQL-Verbindungsfehler: (2054) Der Server hat eine dem Client unbekannte Authentifizierungsmethode angefordert.
2018-06-16T14:48:04.784571621Z
Warnung: mysqli::__construct(): Der Server hat im Standard-Eingabecode in Zeile 22 eine dem Client unbekannte Authentifizierungsmethode angefordert [caching_sha2_password]
2018-06-16T14:48:04.784697952Z
Warnung: mysqli::__construct(): (HY000/2054): Der Server hat im Standard-Eingabecode in Zeile 22 eine dem Client unbekannte Authentifizierungsmethode angefordert.
Die Befehle, die ich verwende, waren genau so, wie ich sie gesehen habe (ich bin neu)
docker pull mysql
docker run --name easql -e MYSQL_ROOT_PASSWORD=abc123 -d mysql:latest
docker pull wordpress
docker run --name ealocal -link easql:mysql -p 8080:80 -d wordpress
Nach genau diesen Befehlen im Video funktioniert alles super. Auf meiner Maschine stoppt der WordPress-Container von selbst. Irgendwelche Hilfe? Danke!
Antwort1
Geben Sie bei -link ein (sollte --link sein)
Folgende Umgebungsvariablen müssen übergeben werden.
-e WORDPRESS_DB_USER=
-e WORDPRESS_DB_PASSWORD=
In Ihrem Fall
docker run --name ealocal --link easql:mysql -p 8080:80 -d -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=abc123 wordpress
Ihr Container sollte jetzt starten. Wenn in den Protokollen Datenbankfehler vorliegen, folgen Sie den nachstehenden Anweisungen.
docker exec -it easql bash == bash shell inside DB server
mysql -u root -p -- Login to DB server
Enter password: abc123
Unter dem Befehl einfügen
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
exit
exit
Dann neuen Container starten:
docker run --name ealocal --link easql:mysql -p 8080:80 -d -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=abc123 wordpress
Siehe offizielles WordPress-Dokument: https://hub.docker.com/_/wordpress