Mysql

Docker 容器中 MariaDB 的超時錯誤

  • April 11, 2022

我有一個 ArchLinux 安裝,Docker 和MariaDB在容器中執行。

現在,當我嘗試連接到數據庫時,我得到以下歐元:MySQL said: Can't connect to MySQL server on '$mydomain' (4).

我為使其可用所做的事情:

  • 創建 root 使用者並授予%訪問權限。
  • custom.cnf具有以下內容的已安裝文件夾:
[mysqld]
bind-address=0.0.0.0
  • 暴露3306:3306docker run
  • 配置的 UFW ufw status | grep 3306
3306                       ALLOW       Anywhere
3306 (v6)                  ALLOW       Anywhere (v6)

我不確定我錯過了什麼。我可以從容器內使用給定的密碼進行連接,但不能從我的本地主機連接。

提前致謝!

**編輯:**我設法通過容器的內部 ip 從另一個容器連接,所以它可以在我認為的主機上工作?也許這是一個防火牆問題(但這沒有意義,因為禁用 ufw 和 iptables 沒有任何幫助)。

這是一個 Docker 問題,添加--net=hostdocker run修復它。有關詳細資訊,請參閱#13914

如果您使用的是 docker compose,您可以將其添加到 docker-compose.yml 文件中,以查看問題是否仍然存在。

網路模式:“主機”

引用自:https://serverfault.com/questions/736090