【发布时间】:2018-10-19 11:09:36
【问题描述】:
我正在尝试 docker 化我的 nodejs/mongodb/mongoose 应用程序。 在我的 app.js 中,我调用了本地数据库:
mongoose.connect('mongodb://'mydbuser":"+mydbpassword"@"localhost"/"+nodekb,{ useMongoClient: true });
我在 docker-compose.yml 中的服务部分看起来像这样:
mongo:
image: "mongo"
ports:
- "27017:27017"
我正在使用默认的 docker mongo 图像。 我的本地 mongo 正在使用 mongo 配置文件“mongod.cfg”:
systemLog:
destination: file
path: "C:\\data\\log\\mongod.log"
storage:
dbPath: "C:\\data"
net:
port: 27017
security:
authorization: enabled
setParameter:
enableLocalhostAuthBypass: false
我如何注入 dbadmin、dbpw 和 mongo 配置文件,以便从 docker mongo 映像中使用它,我做 docker-compose up 吗? 我猜想使用 COPY 命令很容易注入 mongo 配置,但是我如何告诉图像使用它呢?
提前谢谢大家。
【问题讨论】:
-
docker镜像页面有带环境变量的配置示例:hub.docker.com/_/mongo
-
可以传递用户名密码和dbname的环境变量,也可以使用volume来设置配置
-
说 Docker 没有参与,但是 MongoDB 安装太大而无法适应您的开发系统,您必须在其他地方运行它。你会如何配置它?
标签: javascript node.js mongodb docker