docker容器中怎么访问宿主机的mongoDB?简单两步搞定
场景:我们电脑上装了mongodb,同时电脑上还有个运行着php应用的docker容器.那么容器内的php应用怎么访问宿主机上的mongodb?
- 第一步: 让宿主机的mongodb绑定ip:0.0.0.0
mongodb默认是绑定127.0.0.1.修改mongo配置文件(mac通过brew安装的是在/usr/local/etc/mongod.conf下,其他平台执行查找),更改bingIp指令:bindIp: 0.0.0.0
修改完后,记得重启使配置生效. - 第二步: docker内使用host.docker.internal域名访问宿主机
docker提供了个域名host.docker.internal可以得到宿主机ip,省去自己查找麻烦(不过docker官方也说了这个域名也仅仅是用于开发环境中,不要在生产中使用).
在代码中访问mongodb://用户名:密码@host.docker.internal:27017即可.(27017是默认端口,但具体是啥端口看你的配置)