docker wordpress容器无法连接到mysql容器

时间:2020-04-15 21:51:05

标签: php mysql wordpress docker

在这里,我不仅茫然不解为什么不起作用,而且不知道如何解决它。我是Docker的新手,所以可能很明显,但我找不到它。我确实在这里查看了一些其他链接,这些链接被视为“重复问题”,没有任何帮助。

我的游乐场设置:

命名为mysql的容器:“ db”
名为phpmyadmin的容器:phpmyadmin
名为“ wordpress”的容器:domain-blog

所有容器都在桥接网络中 docker0

在此阶段,我将单独启动所有容器,但是在运行wordpress之前,请确保数据库已启动并正在运行。

启动wordpress容器的字符串:

docker run --name="domain-blog" -d \
-e WORDPRESS_DB_HOST=db:3306 \
-e WORDPRESS_DB_USER=domain_user \
-e WORDPRESS_DB_PASSWORD=testedpassword \
-e WORDPRESS_DB_NAME=domain_blog \
-e WORDPRESS_TABLE_PREFIX=astring \
--network=docker0 \
-p 8081:80 \
--restart always \
wordpress

我尝试过的事情:

  • 我可以通过root从phpmyadmin中以rootpassword身份登录,并以hostip:8080登录。
  • 我可以使用phpmyadmin中的domain_usertestedpassword的身份登录。
  • 确认以domain_user登录后可以添加新表。
  • 我已经启动了一个ubuntu容器并安装了网络工具,可以ping通所有容器。
  • 我将iputils-ping直接安装在wordpress容器上,可以使用db ping ping db。 Ping正在运行,但还确认数据库正在解析到正确的IP地址。
  • cat wp-config.php显示用户,主机(db:3306),密码和数据库都按照我的期望通过了。

当我创建新的用户/密码,数据库并将用户的权限添加到该数据库时,我使用了phpmyadmin。用户设置为从%登录。

我无法访问数据库时遇到的错误是尝试通过hostip:8081导航到博客时的确切错误:Error establishing a database connection

1 个答案:

答案 0 :(得分:0)

解决了这个问题,对此感到有些愚蠢,但本着教育的精神...

当我通过phpmyadmin输入用户名/密码到mysql中时,管理界面中的默认值是使用Caching sha2 authentication

我使用本机Mysql身份验证重设了密码...现在没有问题了。