几天来我一直在使用 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/