Docker mongo镜像总是将数据保存在/ data / db目录中

我正在为mongo使用docker镜像 。 我改变了我要在mongo.conf文件中保存数据的目录:

dbpath=/mnt/sda1/data/db/ 

另外我使用docker-compose来创build我的开发环境:

 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 directoy时,它是空的,然后转到/ data / db ,数据在这里。

我不明白为什么数据不在目录里面/ mnt / sda1 / data / db是我定义的,它有mongoconfiguration文件的dbpath

似乎你在容器里命名configuration文件/etc/mongod.conf.orig 。 你可能应该把它命名为/etc/mongod.conf

另外,与docker run不同,您可以在docker-compose.yml文件中使用volume选项的相对path,而不必使用$HOME