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

Mongodb Docker mongo image始终将数据保存在/data/db目录中,mongodb,docker,docker-compose,Mongodb,Docker,Docker Compose,我正在使用。我更改了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.con

我正在使用。我更改了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

我的问题是,如果我更改mongo.conf文件中的dbpath并使用卷将其共享给我的docker,但是当我设置/mnt/sda1/data/db时,数据总是保存在/data/db中。如何更改此行为?抱歉,我猜是由于
卷定义中的错误而找不到配置文件。我更新了答案。