确认远程 Ubuntu 主机上的 MariaDB 服务已经启动并监听了正确的端口号(默认为 3306)。
检查远程 Ubuntu 主机的防火墙设置,确保已经允许来自 Flask 容器的流量通过目标端口。您可以使用以下命令检查端口是否已开放:
sudo ufw status
如果防火墙正在运行,请确保已经添加了正确的规则以允许 MariaDB 流量通过。例如,如果您希望通过 TCP 端口 3306 允许 MariaDB 流量,请运行以下命令:
sudo ufw allow 3306/tcp
确保 Flask 容器所在的网络配置正确。您可以使用以下命令检查容器的网络设置:
docker inspect
确保容器与正确的网络连接,并且容器中的 IP 地址与在 MariaDB 中设置的授权 IP 地址匹配。
在 Flask 应用程序中使用正确的 MariaDB 连接字符串。例如,如果 MariaDB 正在运行在远程 Ubuntu 主机上,并且正在使用默认的端口号,您的连接字符串应该类似于:
mysql+pymysql://:@:3306/
确保替换
、
、
和
为正确的值。
确保在 Flask 容器中安装了 MariaDB Python 驱动程序(例如 PyMySQL)。您可以使用以下命令在容器中安装 PyMySQL:
pip install pymysql
(可选)如果您的 MariaDB 配置使用了 SSL,那么您必须在 Flask 应用中提供正确的 SSL