mongodb - Docker mongo image 始终将数据保存在/data/db 目录中

标签 mongodb docker docker-compose

我正在使用 docker image for mongo 。我更改了我想在 mongo.conf 文件中保存数据的目录:

dbpath=/mnt/sda1/data/db/

我还使用 docker-compose 来创建我的开发环境:

mongo:
  image: mongo
  ports:
   - 27017:27017
  volumes:
   - $HOME/Desktop/development/mongo/data/:/mnt/sda1/data/db/
   - $HOME/Desktop/mongo/config/mongod.conf:/etc/mongod.conf.orig
  command: mongod --smallfiles

当我进入我的 mongo 容器并检查 /mnt/sda1/data/db 目录时,它是空的,然后转到 /data/db 和数据在这里。

我不明白为什么数据不在目录 /mnt/sda1/data/db 中是我定义它具有用于 mongo 配置文件的 dbpath .

最佳答案

似乎您正在命名容器内的配置文件 /etc/mongod.conf.orig。您可能应该将其命名为 /etc/mongod.conf

此外,与 docker run 不同,您可以在 docker-compose.yml 文件中为 volume 选项使用相对路径,而不要不必使用 $HOME

关于mongodb - Docker mongo image 始终将数据保存在/data/db 目录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32252368/

相关文章:

node.js - express DELETE 路线表现奇怪?意外 token 'n'

python - 使用 docker-compose 为 python 应用程序提供 Nginx 反向代理

python - 为什么Pipenv Shell无法识别

spring-boot - 当通过 Dockerfile 上的 gradle 图像触发时,Jooq 无法找到数据库

node.js - docker-compose 卷上的 Node 监视不注册删除事件

mongodb - 使用 MongoDB 的夹层 CMS?

mongodb - 如何在 mongodb 的 $or 语句中合并两个 $and 语句?

javascript - Mongoose:向现有对象添加更多项目

laravel - 在 digitalocean 权限错误上部署 laravel sail

python - 将本地 .csv 读取到容器化 Airflow