无法使用docker wordpress连接到docker mysql

时间:2018-03-08 18:04:34

标签: php mysql wordpress docker

我正在尝试将docker wordpress容器连接到运行另一个容器的MySQL服务器。

MySQL正在运行127.0.0.1:3306

WP:127.0.0.1:10000

如果我从$link = mysqli_connect("127.0.0.1", "root", "root", "wp_db");或普通Tinker脚本运行PHP,它运行正常;我也可以使用Sequel Pro通过上述设置连接到docker MySQL。但是,当我尝试将这些设置放在WP管理页面中以连接到数据库时,它说

  

建立数据库连接时出错

有什么我想念的吗?

1 个答案:

答案 0 :(得分:1)

您的问题是wp位于容器内部,无法与其他容器通信。

您可以从主机到容器,但不能从容器内部到另一个容器内。

我建议你看看docker-compose,这是一个用docker-compose.yml配置文件定义和运行多容器Docker应用程序的工具。

您的问题的一个非常基本的例子可能是这样的

wp:
  image: yourworpressimagefromdockerhub
  ports:
    - 10000:10000
  links:
    - mysql:mysql
mysql:
  image: yourmysqlimagefromdockerhub
  ports:
    - 3306:3306

“wp”容器知道带有“links”条目的“mysql”容器。

然后,只要你想从wp容器调用mysql docker容器,你只需使用“mysql”而不是“127.0.0.1”