我有一个简单的Python Flask Web服务器,在docker容器中运行,还有一个Nginx反向代理和一个MySQL数据库。
当docker compose在network_mode中运行时:' host',一切(nginx-python-mysql)都能正常工作。
但是当它切换到桥接网络时,Nginx和python端点应用似乎工作正常,但python应用程序无法连接到MySQL实例。
我暴露了MySQL端口3306.一切都在CentOS-7上运行。 Python Flask应用程序在gunicorn Python WSGI HTTP Server实例上运行。 MySQL数据库基于tutum / mysql。
我在python端点上尝试了pymysql和SQLAlchemy客户端,我只能让它们连接到主机network_mode中的mysql服务器。
据我所知,在docker实例信息中,MySQL容器很好,并且与python端点容器在同一网络上。
不幸的是,这一切都在空中服务器上运行,因此很难在此处发布配置文件,但主机和网桥模式设置之间的唯一区别是nginx ssl配置代理传递具有https://endpoint而不是https://localhost,并通过https连接到python应用程序在主机和桥接模式下工作。 python应用程序连接到主机0.0.0.0上的mysql数据库
什么可能导致python应用程序的mysql数据库连接问题只能在主机模式下工作?