如何从flask应用程序的docker容器连接到本地mongodb

如何从flask应用程序的docker容器连接到本地mongodb,mongodb,docker,dockerfile,Mongodb,Docker,Dockerfile,我有一个flask应用程序,它作为docker容器运行。Flask应用程序使用本地mongodb。此docker容器无法连接到本地mongodb 我尝试了以下选项: 在docker run…命令中设置--network=“host” 设置MONGO_URI=”mongodb://host-ip-address:27017/model-服务样本“ 设置MONGO_URI=”mongodb://container-gateway-ip-address:27017/model-服务样本“ 上述选项

我有一个flask应用程序,它作为docker容器运行。Flask应用程序使用本地mongodb。此docker容器无法连接到本地mongodb

我尝试了以下选项:

  • docker run…
    命令中设置
    --network=“host”

  • 设置
    MONGO_URI=”mongodb://host-ip-address:27017/model-服务样本“

  • 设置
    MONGO_URI=”mongodb://container-gateway-ip-address:27017/model-服务样本“

上述选项都不起作用


有人能建议一种方法来实现这一点吗?

对于MacOS,您应该使用:

host.docker.internal
gateway.docker.internal

用于从容器连接到主机上的服务


请参阅:

您在使用MacOS吗?docker运行时是否为mongo公开了端口-p xxxx:27017 mongoimage?@ThanhNguyenVan,是的,我在使用MacOS,我的mongodb没有作为docker容器运行,作为docker容器运行的我的flask应用程序需要访问本地mongodbI。我读过这篇文章,但不太明白host.docker.internal的意思。我需要在我的
Dockerfile
中写这个吗?不,更改
MONGO\u URI=”mongodb://container-gateway-ip-address:27017/model-服务示例“
to
MONGO\u URI=”mongodb://gateway.docker.internal:27017/model-服务样本“
@ThanhNguyenVan谢谢,伙计!你救了我!