Docker,无法将Wordpress连接到MySQL

时间:2018-12-01 20:08:29

标签: mysql wordpress docker

我正在尝试将两个容器链接在一起,我能够将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次,但不再起作用。

2 个答案:

答案 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