将mongo数据库从VM外部的vagrant移动

时间:2017-03-28 16:17:35

标签: mongodb vagrant

大家好我想找到一种方法将我的mongo数据库移到其外的vagrant中。我正在阅读这个论坛的一些帖子,但它们与postgres和mysql有关。

当我运行npm start时,这是我在package.json中的代码

"start": "MONGODB=mongodb://localhost:27017....

所以问题是数据库将保存在虚拟机localhost中,因此,当它运行时,它将无法在VM外部访问。如何更改此localhost路径以进行外部通信?

2 个答案:

答案 0 :(得分:0)

它不是流浪者或其他服务器。

db位置文件在/etc/mongodb.conf中指定。默认情况下,db保存在/data/db

  

所以问题是数据库将保存在虚拟机本地主机中,因此,当它运行时,它无法在VM外部访问。如何更改此localhost路径以进行外部通信?

如果您希望可以从主机访问数据库,则需要将vaghost VM的IP替换为localhost(如果您指定了私有IP),或者更好地使用0.0.0.0,以便可以从所有网络访问接口

答案 1 :(得分:0)

我做到了,这个链接给了我答案:Vagrant reverse port forwarding?

似乎默认情况下mongo将位于vagrant之外的10.0.2.2中,所以如果我在vagrant中运行:mongo 10.0.2.2:27017它连接到vagrant之外的数据库。

因此,这是我需要在package.json中运行npm start ...

"start": "MONGODB=mongodb://10.0.2.2:27017/