为什么docker容器中的nextcloud看不到我的none docker mariadb

为什么docker容器中的nextcloud看不到我的none docker mariadb

我在互联网上搜索过这个问题,但只找到了相反的主题。(连接到docker容器中的mariadb)。

我正在安装 nextcloud 和 onlyoffice。现在我需要配置一个数据库。我可以使用 sqlite,但不想用它来做这件事。

MariaDB 运行良好,它正在监听(netstat -antup | grep 3306):

tcp       0     0 127.0.0.1:3306        0.0.0.0:*           LISTEN      4880/mysqld

但 nextcloud 一直说:

Error while trying to create admin user: Failed to connect to the database: An exception occured in driver: SQLSTATE[HY000] [2002] Connection refused

我已经创建了数据库和用户,并根据 nextcloud 文档授予该用户必要的权限。

在数据库字段我只需输入:127.0.0.1:3306

我只是想不明白为什么它无法连接,有什么想法吗?

如果您想要配置,我可以给您,但没什么特别的,只是标准配置多出两行,因为 nextcloud 需要以下内容:

transaction_isolation = READ-COMMITTED
binlog_format = ROW

感谢您的帮助!

此致,

马特1250

答案1

从你的描述中我可以看出,你的主机上有 MariaDB,而 NextCloud 则位于 docker 中

  • 你无法从 docker 机器内部访问主机网络套接字,但如果你想这样做,你可以将 docker 配置为使用主机网络,如下所述回答
  • 或者,你可以在 docker 中安装 MariaDB unix 套接字,并按照 NextCloud 中所述进行配置教程

相关内容