无法连接到LAMP docker容器中的MYSQL

sqougxex  于 2023-05-12  发布在  Mysql
关注(0)|答案(2)|浏览(134)

我有一个灯容器。我想运行WordPress,但它无法连接到Mysql。我将容器端口Map设置为3307:3306,因为另一个容器使用默认的MySQL端口。我尝试从主机连接到容器的mysql服务器来测试它,mysql -u xxxx -h 127.0.0.1:3307,但结果是:

ERROR 2005 (HY000): Unknown MySQL server host '127.0.0.1:3307' (0)

我尝试在容器的mysql配置中将绑定地址www.example.com更改127.0.0.1为0.0.0.0,但没有任何变化。
这有什么问题吗

xriantvc

xriantvc1#

你必须将数据库容器链接到WordPress容器。我不知道你用什么来做容器,以及如何编排它们,但在最简单的情况下,你必须添加这样的东西:

--link some_mysql_container:mysql

当你试图运行WordPress容器时。首先,你需要创建一个数据库容器。让它有“some-mysql-for-wordpress”的名称(image mysql:latest)。当你有了这个,现在你可以运行一个WordPress容器:

docker run --name some-wordpress --link some-mysql-for-wordpress:mysql -d wordpress

就这样:)

cfh9epnr

cfh9epnr2#

在我的例子中,在php文件中,你可以只使用你的容器而不是主机名。

function connect_db() {
   $dbhost = "database"; // <= like this
   $dbuser = "docker";
   $dbpass = "docker";
   $dbname = "dbname";
   $database_class = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
   $database_class->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
   return $database_class;
}

这个工作对我来说。希望这对以后的5年有所帮助。

相关问题