docker wordpress 容器无法连接到数据库容器
docker wordpress container can't connect to database container
几天来我一直在使用 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
我之前已经得到了我的环境 运行ning,我确信如果不是这个特定的例子,我已经能够 运行 容器并通过一些例子连接到数据库我今天尝试了(没有运气)所以我猜我的环境有问题但我不知道如何调试它。
我删除了所有容器,所有图像,重新下载了图像并重建了容器。甚至用新创建的 docker-compose.yml 文件在空文件夹中测试了所有内容。
事实上,在阅读日志时,我什至重新启动了 wordpress 容器 而 数据库容器已经启动,结果是一样。
为了以防万一,我 运行 使用 docker 快速启动终端在 mac 上将所有这些本地化,如下所述:
https://docs.docker.com/mac/step_one/
和docker -v 说:
Docker version 1.9.1, build a34a1d5
编辑: 刚刚尝试使用:
image: wordpress:4.4
而不是 "no tag" 下载最新的(在撰写本文时为 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 现在已经解决了。
谢谢大家!
几天来我一直在使用 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
我之前已经得到了我的环境 运行ning,我确信如果不是这个特定的例子,我已经能够 运行 容器并通过一些例子连接到数据库我今天尝试了(没有运气)所以我猜我的环境有问题但我不知道如何调试它。
我删除了所有容器,所有图像,重新下载了图像并重建了容器。甚至用新创建的 docker-compose.yml 文件在空文件夹中测试了所有内容。
事实上,在阅读日志时,我什至重新启动了 wordpress 容器 而 数据库容器已经启动,结果是一样。
为了以防万一,我 运行 使用 docker 快速启动终端在 mac 上将所有这些本地化,如下所述:
https://docs.docker.com/mac/step_one/
和docker -v 说:
Docker version 1.9.1, build a34a1d5
编辑: 刚刚尝试使用:
image: wordpress:4.4
而不是 "no tag" 下载最新的(在撰写本文时为 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 现在已经解决了。
谢谢大家!