5
我想運行使用express並連接到(boot2docker)docker mongo容器的節點應用程序。Node/Express應用程序無法連接到docker mongodb
當我第一次寫的應用程序,我使用的MongoDB的本地安裝的實例,下面的配置工作:
module.exports = {
env: 'development',
mongo: {
uri: 'mongodb://localhost/fullstack-dev'
}
};
而且它跑預期。
現在我正在嘗試爲mongo的docker實例進行交換。
所以,我做了以下步驟獲得蒙戈運行:
$ docker pull mongo:latest
$ docker run -v "$(pwd)":/data --name mongo -d mongo mongod --smallfiles
$ docker ps
#my mongo instance is 442c2541fe1a
$ docker exec -it 442c2541fe1a bash
$ mongo
此時,出現在我的命令提示符下運行。
於是,我試圖讓boot2docker虛擬機上OSX運行泊塢窗IP:
$ boot2docker ip
# the IP returned: 192.168.59.103
所以,後來,我去了的NodeJS config來淘汰掉舊mongodb的路徑如下:
module.exports = {
env: 'development',
mongo: {
uri: 'mongodb://192.168.59.103:27017/fullstack-dev'
}
};
當我運行該應用程序時,出現連接錯誤。
events.js:72
throw er; // Unhandled 'error' event
^
Error: failed to connect to [192.168.59.103:27017]
將我的MEAN棧應用程序連接到docker'ified mongodb實例的適當配置是什麼?