Python Can';t使用Docker连接到本地主机上的mysql

Python Can';t使用Docker连接到本地主机上的mysql,python,mysql,sqlalchemy,flask-sqlalchemy,Python,Mysql,Sqlalchemy,Flask Sqlalchemy,我制作了一个非常简单的flask应用程序,用于检查数据库中是否存在用户名和密码组合,并返回此人的姓名。我基本上想试试Docker。我的应用程序使用sqlalchemy连接到数据库 每次我尝试使用docker run将docker映像连接到数据库时,都会显示以下错误 sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (2002, "Can't connect to local MySQL server thr

我制作了一个非常简单的flask应用程序,用于检查数据库中是否存在用户名和密码组合,并返回此人的姓名。我基本上想试试Docker。我的应用程序使用sqlalchemy连接到数据库

每次我尝试使用docker run将docker映像连接到数据库时,都会显示以下错误

sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")
以下是我的Dockerfile的内容:

FROM python:3.5
WORKDIR /app
ADD . /app
RUN pip install -r requirements.txt
ENTRYPOINT ["python"]
CMD ["app.py"]
这是my requirements.txt包含的内容:

Flask==0.10.1
mysqlclient
sqlalchemy

如果我尝试在没有Docker的情况下按原样运行应用程序,它将按原样运行。据我所知,没有必要指定任何端口号,因为Docker正在与外部通信。我不明白我遗漏了什么,请帮助。

查看这些链接:-可能重复@Dalton,以上链接都不是我的问题。我可以从docker内部连接到计算机外部的数据库(我连接到AWS RDS上托管的数据库),但无法连接到本地主机上的数据库,这正是我一直在尝试的。localhost上的数据库未托管在docker上。您如何尝试访问主机中的数据库?您使用的地址/IP是什么?您是否从容器ping主机?是的,我尝试从容器中连接到数据库。我在容器中安装了mysqlclient,并尝试使用127.0.0.1、0.0.0、localhost连接到localhost数据库。但我仍然无法从docker容器中连接。我认为如果我得到了正确的IP,这个问题可以解决,但是我不知道在哪里可以找到它。