db连接路径,用于连接在docker中运行的应用程序

时间:2018-01-22 10:21:08

标签: mongodb docker robo3t

我在docker中运行nodejs应用程序。在该应用程序中,我正在尝试连接我的系统数据库。但它无法正常工作

在我的环境文件中:

**MONGODB_URI=mongodb://192.168.1.174:27017/sampleDB**
SESSION_SECRET=sample
App_PORT = 8088

但是我收到错误而无法访问数据库。

我的应用程序在docker machine上运行ip 192.168.99.100:8088

在这里,我附上了我的docker running命令语句: enter image description here 如何将我的系统数据库连接到该应用程序

1 个答案:

答案 0 :(得分:0)

IP取决于容器的运行方式。如果使用docker-compose,它会为您创建一个网络,在该网络中,使用服务名称可以访问容器(例如,db,如果您使用它)。如果没有,并且您没有指定任何网络,则使用默认的bridge网络(在docker机器上称为docker0)。

由于您正在单独运行容器(使用docker run),您必须为容器提供特定的IP地址(您可以使用docker exec container_name ip a从容器内部获取一个)或通过网关(你的码头机)。但是,为了做到这一点,必须公开数据库端口(例如,27017:27017运行时。)

我建议你从现在开始使用docker-compose,运行一堆链接容器时,很多事情会变得更容易。