
您好,我從 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