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

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

我的游乐场设置:

名为 的 mysql 容器: “D b”
名为 的 phpmyadmin 容器: phpmyadmin
名为 的 wordpress 容器: 域博客

所有容器都在一个桥接网络中 docker 0

在这个阶段,我将单独启动所有容器,但我确保在运行 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 

我试过的:

  • 我可以登录为rootrootpassword来自 phpmyadmin 通过 hostip:8080 导航.
  • 我可以登录为domain_user , 使用 testedpassword来自 phpmyadmin。
  • 确认我可以在以 domain_user 身份登录时添加新表。
  • 我已经启动了一个 ubuntu 容器并安装了网络工具,可以 ping 所有容器。
  • 我安装了iputils-ping直接在wordpress容器上,可以ping db使用 ping db . Ping 正在命中,但也确认 db 正在解析到正确的 IP 地址。
  • cat wp-config.php显示用户、主机(db:3306)、密码和数据库都按照我的预期传递。
  • 我在创建新用户/密码、数据库并为该数据库添加用户权限时使用了 phpmyadmin。用户设置为从 % 登录.

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

    最佳答案

    解决了它并对此感到相当愚蠢,但本着教育的精神……

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

    我使用 native Mysql 身份验证重置密码…现在可以正常工作了。

    关于php – docker wordpress 容器无法连接到 mysql 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61239252/

    原文链接:https://www.coder.work/article/7370580

    © 版权声明
    THE END
    喜欢就支持一下吧
    点赞0 分享