【问题标题】:docker wordpress container can't connect to mysql containerdocker wordpress 容器无法连接到 mysql 容器
【发布时间】:2020-07-29 01:03:13
【问题描述】:

我不仅不知道为什么这不起作用,而且不知道如何进一步排除故障。我是码头工人的新手,所以可能很明显,但我找不到。我确实在这里查看了一些其他链接,这些链接可能被视为“重复问题”,但没有任何帮助。

我的游乐场设置:

mysql 容器命名:“db”
phpmyadmin 容器命名:phpmyadmin
wordpress 容器命名:域博客

所有容器都在一个桥接网络中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 和rootpassword 的身份从phpmyadmin 登录,通过hostip:8080 导航。
  • 我可以使用 phpmyadmin 的 testedpassword 以 domain_user 身份登录。
  • 确认我可以在以 domain_user 身份登录时添加新表。
  • 我已经启动了一个 ubuntu 容器并安装了网络工具,可以 ping 所有容器。
  • 我直接在wordpress容器上安装了iputils-ping,可以使用ping dbpingdb。 Ping 正常,但也确认 db 正在解析到正确的 IP 地址。
  • cat wp-config.php 显示用户、主机(db:3306)、密码和数据库都按照我的预期传递。

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

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

【问题讨论】:

    标签: php mysql wordpress docker


    【解决方案1】:

    解决了这个问题,感觉很愚蠢,但本着教育的精神......

    当我通过phpmyadmin将用户名/密码输入mysql时,admin界面默认使用Caching sha2 authentication。

    我使用Native Mysql Authentication重置密码...现在可以正常使用了。

    【讨论】:

      猜你喜欢
      • 2020-12-30
      • 1970-01-01
      • 2016-04-26
      • 2016-07-22
      • 1970-01-01
      • 2016-04-17
      • 1970-01-01
      • 2017-08-10
      • 1970-01-01
      相关资源
      最近更新 更多