您好,我在日志中的 wordpress 容器中收到此错误。
MySQL 连接错误:(2054)服务器请求的身份验证方法对于客户端来说未知
2018-06-16T14:48:04.784571621Z
警告:mysqli::__construct():服务器在第 22 行的标准输入代码中请求了客户端未知的身份验证方法 [caching_sha2_password]
2018-06-16T14:48:04.784697952Z
警告:mysqli::__construct():(HY000/2054):服务器在第 22 行的标准输入代码中请求了客户端未知的身份验证方法
我使用的命令和我所见的完全一样(我是新手)
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
按照视频中这些命令操作后,一切都运行正常。在我的计算机上,wordpress 容器会自动停止。有什么帮助吗?谢谢!
答案1
输入 -link (应该是 --link)
必须传递以下环境变量。
-e WORDPRESS_DB_USER=
-e WORDPRESS_DB_PASSWORD=
就你的情况而言,
docker run --name ealocal --link easql:mysql -p 8080:80 -d -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=abc123 wordpress
您的容器现在应该启动了。如果日志中有任何与数据库相关的错误,请按照以下步骤操作。
docker exec -it easql bash == bash shell inside DB server
mysql -u root -p -- Login to DB server
Enter password: abc123
粘贴以下命令
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
exit
exit
然后启动新的容器:
docker run --name ealocal --link easql:mysql -p 8080:80 -d -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=abc123 wordpress
参考官方wordpress docx: https://hub.docker.com/_/wordpress