我正在尝试将两个容器链接在一起,我能够将PhpMyAdmin容器与mysql容器连接起来,但是当我使用wordpress容器时,似乎没有任何作用。
我尝试了不同的事情,实际上我正在使用此命令运行mysql容器:
sudo docker run --name sql -e MYSQL_ROOT_PASSWORD=pass mysql
然后用这个来设置wordpress容器:
sudo docker run --name wpress -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=pass -e WORDPRESS_DB_HOST=172.17.0.2 -p 8085:80 --link sql:mysql wordpress
Mysql容器工作正常,但是我从wpress获得了以下输出:
MySQL Connection Error: (2054) The server requested authentication method unknown to the client
Warning: mysqli::__construct(): The server requested authentication method unknown to the client [caching_sha2_password] in Standard input code on line 22
我做错了什么?
编辑:
通过在WORDPRESS_DB_HOST中添加端口,我能够在某些测试中将wpress容器连接到sql容器几次,这将给:
sudo docker run --name wpress -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=pass -e WORDPRESS_DB_HOST=172.17.0.2:3306 -p 8085:80 wordpress
(我也删除了--link选项,没有它就可以工作)。 因此它可以工作2-3次,但不再起作用。
答案 0 :(得分:0)
这似乎是版本错误。使用具有不同版本mysql的映像,例如mysql:5.7,它应该可以工作。
答案 1 :(得分:0)
我有同样的问题/错误。
这是我对mysql和wordpress要做的事情:
docker run --name wordpressdb -e MYSQL_ROOT_PASSWORD=password -d mysql
docker exec -it wordpressdb bash
#inside run:
mysql -uroot -ppassword
#paste
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
exit
exit
docker run --name wordpress -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=password -p 8080:80 --link wordpressdb:mysql -d wordpress