mysql - docker wordpress容器无法连接到数据库容器

标签 mysql wordpress docker mariadb

几天来我一直在使用 docker 来构建 wordpress 应用程序。我有一些工作,但现在我不知道为什么我可以连接数据库容器和 wordpress 容器。

我已将失败的配置减少到尽可能简单的程度。

现在我有以下 docker-compose.yml 文件:

wordpress:
  image: wordpress
  links:
    - db:mysql
  ports:
    - 8080:80

db:
  image: mariadb
  environment:
    MYSQL_ROOT_PASSWORD: example

这是这个官方示例的精确副本:

https://hub.docker.com/_/wordpress/

(向下滚动到“...通过 docker-compose”)。

如果我使用这个文件进行组合,我会得到以下相关日志条目:

Creating miqueladell_db_1
Creating miqueladell_wordpress_1
Attaching to miqueladell_db_1, miqueladell_wordpress_1
db_1        | Initializing database

…大量初始化…

wordpress_1 | Warning: mysqli::mysqli(): (HY000/2002): Connection refused in - on line 10

…这会持续一段时间,db_1 说它正在初始化,wordpress_1 说它可以连接 然后……

db_1        | MySQL init process done. Ready for start up.

…一些更多的数据库信息…

db_1        | 2016-01-12 14:34:46 139698309449664 [Note] mysqld: ready for connections.
wordpress_1 | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.5. Set the 'ServerName' directive globally to suppress this message
wordpress_1 | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.5. Set the 'ServerName' directive globally to suppress this message
wordpress_1 | [Tue Jan 12 14:34:47.180996 2016] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.10 (Debian) PHP/5.6.17 configured -- resuming normal operations
wordpress_1 | [Tue Jan 12 14:34:47.181253 2016] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND'

...在那一刻,如果我浏览到我得到的 wordpress 端点...

wordpress_1 | 192.168.99.1 - - [12/Jan/2016:14:34:47 +0000] "GET / HTTP/1.1" 500 586 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36"

前端建立数据库连接时出错

我已将完整的日志粘贴在这里,以防有人想看:http://pastebin.com/Z9U2iMsH

我之前已经运行了我的环境,我确信如果不是这个特定的例子,我已经能够运行容器并使用我今天尝试过的一些例子(运气不好)连接到数据库,所以我猜我的环境有问题,但我不知道如何调试它。

我删除了所有容器、所有图像、重新下载图像并重建了容器。甚至使用新创建的 docker-compose.yml 文件在空文件夹中测试所有内容。

事实上,在阅读日志时,似乎 wordpress 进程可能已经耗尽了它的尝试,我什至重新启动了 wordpress 容器, 数据库容器已经启动,结果是一样的。 p>

为了以防万一,我使用 docker quickstart 终端在 mac 上本地运行所有这些,如下所述:

https://docs.docker.com/mac/step_one/

docker -v说:

Docker version 1.9.1, build a34a1d5

编辑:刚刚尝试使用:

image: wordpress:4.4

而不是下载最新版本(撰写本文时为 4.4.1)的“无标签”并且它有效。所以这似乎是 4.4.1 引入的错误

我在这里开了一个

https://github.com/docker-library/wordpress/issues/120

我会保留这个问题以防万一,但很明显这是一个错误

最佳答案

这是 wordpress 容器 4.4.1 版本的一个错误。

我在这里提出了一个问题 https://github.com/docker-library/wordpress/issues/120现在已经解决了。

谢谢大家!

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

相关文章:

php - codeigniter 连接同一个表多个值

mysql - 复杂的 MySQL 排序

jquery - ajax加载后无法选择元素

php - 在管理员中显示订单下载 WooCommerce 中的新订单电子邮件通知

docker - 节点导出器应该从主机还是容器运行?

node.js - axios post套接字仅在docker中挂起

MySQL Subselect 将两个表和聚合函数合并到单个查询中

php - 存档产品的 `<ul>` 的 Woocommerce 位置

docker - 有没有办法以分离模式启动 Docker 容器?

java - 我无法在 NetBeans 中查看或编辑 MySQL 存储过程