我正在使用 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/