小编nos*_*wah的帖子

Dockerizing Flask Web App 后定期“在查询期间丢失与 MySQL 服务器的连接”

我有一个 Flask Web 应用程序,它曾经使用以下内容在独立服务器上运行:

  • 烧瓶/SQLAlchemy
  • 玛丽亚数据库
  • uwsgi
  • nginx

在独立服务器上,此应用程序运行良好。

我已经在两个容器中“dockerized”了这个应用程序:

自从 dockerizing 以来,我偶尔会收到此错误(最后发布了整个回溯):

Lost connection to MySQL server during query
Run Code Online (Sandbox Code Playgroud)

MariaDB 日志在详细日志记录中显示以下错误:

2020-05-10 18:35:32 130 [Warning] Aborted connection 130 to db: 'flspection2' user: 'fl-server' host: '172.19.0.1' (Got an error reading communication packets)
2020-05-10 18:45:34 128 [Warning] Aborted connection 128 to db: 'flspection2' user: 'fl-server' host: '172.19.0.1' (Got timeout reading communication packets)
Run Code Online (Sandbox Code Playgroud)

这是用户作为502 Bad Gateway. 如果用户刷新页面,这通常会解决问题。这个问题是随机出现的。我无法随意重现它,但随着时间的流逝,它不可避免地会出现。

这是什么原因造成的,我该如何解决?

我所做的:

  • 验证 MariaDB 容器的超时时间为 28800。我已经看到在重新启动所有容器后该错误发生的时间比 28800 秒要早得多,所以我认为这实际上不是超时问题。
  • 将 …

mariadb flask flask-sqlalchemy docker docker-compose

8
推荐指数
1
解决办法
1909
查看次数